We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
The EventSub implementation is very basic right now, but it needs to be ready in the near future (https://discuss.dev.twitch.com/t/legacy-pubsub-deprecation-and-shutdown-timeline/58043). A few tasks that need to be done at some point (feel free to update) and I can't keep them all in my head or in the TODO.md file.
TODO.md
twitch-eventsub-ws
json_transform
snake_case
std::chrono
json_tag=AsISO8601
.cpp
std::variant
channel.moderate
googletest
Chatterino Integration
result<T>
std::cerr
PubSub Parity
moderation.chatCleared
clear
moderation.messageDeleted
(shared_chat_)delete
moderation.modeChanged
moderation.moderationStateChanged
(un)mod
moderation.raidStarted
raid
/(un)raid
moderation.raidCanceled
unraid
moderation.userBanned
(shared_chat_)ban
(shared_chat_)timeout
moderation.userUnbanned
unban
shared_chat_unban
moderation.userWarned
warn
moderation.suspiciousMessageReceived
channel.suspicious_user.message
moderation.suspiciousTreatmentUpdated
channel.suspicious_user.update
moderation.autoModMessageCaught
automod.message.hold
automod.message.update
moderation.autoModMessageBlocked
moderation.automodUserMessage
{add,remove}_{permitted,blocked}_term
moderation.automodInfoMessage
channel.chat.user_message_{hold,update}
streamerModeHideModActions
If you haven't done yet, please vote on "Allow getting realtime updates on polls/predictions/channel points redemptions through websockets for all users". We can't display reward information on channel point redemptions without PubSub. In EventSub, these subscriptions are hidden behind broadcaster authentication. There are ideas to work around that, but they require a dedicated server (RFC).
Some nice-to-have things:
String
union { QString, short-string, alloc'd string }
.inc
tag_invoke
const
The EventSub implementation is very basic right now, but it needs to be ready in the near future (https://discuss.dev.twitch.com/t/legacy-pubsub-deprecation-and-shutdown-timeline/58043). A few tasks that need to be done at some point (feel free to update) and I can't keep them all in my head or in the
TODO.mdfile.twitch-eventsub-ws
json_transformshould besnake_casesince it will be used most #5911std::chronotypes (currentlyjson_tag=AsISO8601) #5912.cpp) starts with an empty line #5909std::variantor similar) or using inheritance.channel.moderate's Event is currently 3336 bytes large (81% of a page on most systems) #5917googletestin the repository) #5918Chatterino Integration
result<T>and moving) #5927std::cerrfix: use qlogging in eventsub lib (through a hoop) #6161PubSub Parity
moderation.chatCleared(handled bychannel.moderateclearfeat(eventsub): implement clearchat #5981)moderation.messageDeleted(handled bychannel.moderate(shared_chat_)deletefeat(eventsub): implement (shared chat) delete #5993)moderation.modeChanged(handled bychannel.moderatefeat(eventsub): implement mode changes #5992)moderation.moderationStateChanged(handled bychannel.moderate(un)modfeat(eventsub): implement (un)mod #6001)moderation.raidStarted(handled bychannel.moderateraidfeat(eventsub): Add support for/(un)raid#6002)moderation.raidCanceled(handled bychannel.moderateunraidfeat(eventsub): Add support for/(un)raid#6002)moderation.userBanned(handled bychannel.moderate(shared_chat_)banfeat(eventsub): implement (shared-chat-)ban #5985 and(shared_chat_)timeoutfeat(eventsub): implement (shared-chat) timeout #5995)moderation.userUnbanned(handled bychannel.moderateunbanandshared_chat_unbanfeat(eventsub): implement unban #5990)moderation.userWarned(handled bychannel.moderatewarnfeat(eventsub): Add support forchannel.moderateWarn #5932)moderation.suspiciousMessageReceived(handled bychannel.suspicious_user.messagefeat(eventsub): implement suspicious user message #6007)moderation.suspiciousTreatmentUpdated(handled bychannel.suspicious_user.updatefeat(eventsub): implement suspicious user update #6012)moderation.autoModMessageCaught(handled byautomod.message.holdfeat(eventsub): implement automod message hold #6005 andautomod.message.updatefeat(eventsub): implement automod message update #6010)was superseded by autoModMessageCaught but never removedmoderation.autoModMessageBlocked(handled byautomod.message.update)moderation.automodUserMessage(handled bychannel.moderate{add,remove}_{permitted,blocked}_termfeat(eventsub): implement AutoMod term actions #6000)moderation.automodInfoMessage(handled bychannel.chat.user_message_{hold,update}feat(eventsub): implement channel.chat.user_message_(hold/update) #6008)streamerModeHideModActionsrefactor(eventsub): Respect "Hide moderation actions" explicitly #6041If you haven't done yet, please vote on "Allow getting realtime updates on polls/predictions/channel points redemptions through websockets for all users". We can't display reward information on channel point redemptions without PubSub. In EventSub, these subscriptions are hidden behind broadcaster authentication. There are ideas to work around that, but they require a dedicated server (RFC).
Some nice-to-have things:
Stringcould be 4 pointers large instead of 5 by using a custom SSO (i.e.union { QString, short-string, alloc'd string }) #5921.incfiles? Either by manually writing the declarations fortag_invokeor by using a macro. #5922constin parsed values because it implicitly deletes move operations #5923