├── .github └── workflows │ └── pull-requests.yml ├── .gitignore ├── LICENSE ├── README.md ├── client ├── .env.development ├── .eslintrc.cjs ├── .gitignore ├── .prettierrc ├── index.html ├── package-lock.json ├── package.json ├── public │ └── vite.svg ├── src │ ├── App.less │ ├── App.tsx │ ├── assets │ │ └── react.svg │ ├── components │ │ ├── CSSSizePicker │ │ │ ├── CSSSizePicker.less │ │ │ └── CSSSizePicker.tsx │ │ ├── CopyButton │ │ │ ├── CopyButton.less │ │ │ └── CopyButton.tsx │ │ ├── FontPicker │ │ │ └── FontPicker.tsx │ │ └── TextShadowPicker │ │ │ ├── TextShadowPicker.tsx │ │ │ ├── common.ts │ │ │ ├── fields │ │ │ ├── ColorField.tsx │ │ │ ├── OffsetField.tsx │ │ │ └── SliderField.tsx │ │ │ ├── index.tsx │ │ │ ├── inputs │ │ │ ├── Input.tsx │ │ │ ├── Label.tsx │ │ │ └── OffsetGrid.tsx │ │ │ └── types.ts │ ├── constants.ts │ ├── context │ │ └── Socket │ │ │ ├── SocketProvider.tsx │ │ │ ├── socketContext.ts │ │ │ └── socketEventHandler.ts │ ├── hooks │ │ └── useSocketContext.ts │ ├── index.css │ ├── main.tsx │ ├── store │ │ ├── chatSettingsStore.ts │ │ ├── songSettingsStore.ts │ │ └── store.ts │ ├── twitchTypes.ts │ ├── types.ts │ ├── views │ │ ├── Chat │ │ │ ├── Chat.less │ │ │ ├── Chat.tsx │ │ │ ├── ChatEntry.tsx │ │ │ ├── ChatImageRenderer.tsx │ │ │ ├── DisappearingChat.tsx │ │ │ ├── NonDisappearingChat.tsx │ │ │ ├── UserBadges.tsx │ │ │ ├── bttvModifierFlags.ts │ │ │ ├── chatSearchParamsMap.ts │ │ │ ├── contrastCorrected.ts │ │ │ ├── parseFrankerFaceZModifierFlags.test.ts │ │ │ ├── parseFrankerFaceZModifierFlags.ts │ │ │ ├── parseSevenTVModifierFlags.test.ts │ │ │ ├── parseSevenTVModifierFlags.ts │ │ │ └── useChatSearchParams.ts │ │ ├── Dashboard │ │ │ ├── ChatDashboard.less │ │ │ ├── ChatDashboard.tsx │ │ │ ├── ChatPreview.tsx │ │ │ ├── Dashboard.less │ │ │ ├── Dashboard.tsx │ │ │ ├── SongDashboard.less │ │ │ ├── SongDashboard.tsx │ │ │ └── TaskDashboard.tsx │ │ ├── Song │ │ │ ├── Song.less │ │ │ ├── Song.tsx │ │ │ ├── songSearchParamsMap.ts │ │ │ └── useSongSearchParams.ts │ │ └── Task │ │ │ ├── Task.less │ │ │ └── Task.tsx │ └── vite-env.d.ts ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts ├── docs ├── CHANNEL_POINT_REDEEMS.md ├── COMMANDS.md ├── CONFIGURATION.md ├── INTERVAL_COMMANDS.md └── SETUP.md ├── install.mjs ├── renovate.json ├── server ├── .eslintrc.cjs ├── .nvmrc ├── .prettierrc ├── example.commands.json ├── example.config.json ├── example.intervalCommands.json ├── example.tokens.json ├── package-lock.json ├── package.json ├── src │ ├── auth │ │ ├── spotify.ts │ │ ├── tokenManager.ts │ │ └── twitch.ts │ ├── botCommands.ts │ ├── chat │ │ ├── chatFiltering.ts │ │ ├── chatMessages.test.ts │ │ ├── chatMessages.ts │ │ ├── getFakeChatMessages.ts │ │ ├── loadBadges.ts │ │ ├── loadCheers.ts │ │ └── loadEmotes.ts │ ├── commands │ │ ├── addcommand.ts │ │ ├── commands.ts │ │ ├── fetchcurrentsong.ts │ │ ├── followage.ts │ │ ├── get.ts │ │ ├── help.ts │ │ ├── helpers │ │ │ ├── findBotCommand.ts │ │ │ ├── findOrCreateUser.ts │ │ │ ├── generateCommandMessage.test.ts │ │ │ ├── generateCommandMessage.ts │ │ │ ├── hasBotCommandParams.ts │ │ │ ├── isAllowedUser.ts │ │ │ ├── isPrivileged.ts │ │ │ ├── parsedMessageHasAllProps.ts │ │ │ ├── sendChatMessage.ts │ │ │ ├── songDetail.ts │ │ │ ├── stripLeadingExclamationMark.ts │ │ │ └── updateStreamStartedAt.ts │ │ ├── lastsong.ts │ │ ├── point.ts │ │ ├── pointladder.ts │ │ ├── points.ts │ │ ├── queuesong.ts │ │ ├── quote.ts │ │ ├── removealias.ts │ │ ├── removecommand.ts │ │ ├── roll.ts │ │ ├── set.ts │ │ ├── skipsong.ts │ │ ├── skiptts.ts │ │ ├── song.ts │ │ ├── songqueue.ts │ │ ├── spotlight.ts │ │ ├── tts.ts │ │ ├── uptime.ts │ │ ├── vanish.ts │ │ ├── viewers.ts │ │ ├── voices.ts │ │ ├── welcome.ts │ │ └── whoami.ts │ ├── config.ts │ ├── constants.ts │ ├── fileManager.ts │ ├── handlers │ │ ├── botCommandHandler.ts │ │ ├── bttv │ │ │ ├── betterTTVWebsocket.ts │ │ │ ├── fetchBetterTTVGlobalEmotes.ts │ │ │ ├── fetchBetterTTVUser.ts │ │ │ └── schemas.ts │ │ ├── discord │ │ │ └── discord.ts │ │ ├── frankerfacez │ │ │ ├── fetchFrankerFaceZGlobalEmotes.ts │ │ │ ├── fetchFrankerFaceZRoomEmotes.ts │ │ │ └── schemas.ts │ │ ├── obs │ │ │ └── obsWebsocket.ts │ │ ├── sevenTV │ │ │ ├── fetchSevenTVEmote.ts │ │ │ ├── fetchSevenTVEmoteSets.ts │ │ │ ├── fetchSevenTVTwitchUser.ts │ │ │ ├── schemas.ts │ │ │ ├── sevenTVUser.ts │ │ │ └── sevenTVWebsocket.ts │ │ ├── spotify │ │ │ ├── addSongToPlaybackQueue.ts │ │ │ ├── fetchCurrentlyPlaying.ts │ │ │ ├── getPlaybackQueue.ts │ │ │ ├── getTrack.ts │ │ │ ├── schemas.ts │ │ │ └── skipCurrentSong.ts │ │ ├── streamelements │ │ │ └── ttsStreamElementsHandler.ts │ │ ├── tiktok │ │ │ └── ttsTikTokHandler.ts │ │ ├── twitch │ │ │ ├── event-sub │ │ │ │ ├── subscribers │ │ │ │ │ ├── eventSubscribe.ts │ │ │ │ │ ├── subscribeToFollows.ts │ │ │ │ │ ├── subscribeToRaids.ts │ │ │ │ │ ├── subscribeToRedeems.ts │ │ │ │ │ ├── subscribeToStreamOfflineNotifications.ts │ │ │ │ │ ├── subscribeToStreamOnlineNotifications.ts │ │ │ │ │ ├── subscribeToSubscriptionGifts.ts │ │ │ │ │ └── subscribeToSubscriptions.ts │ │ │ │ ├── twitchEventSubHandler.ts │ │ │ │ └── twitchEventSubWebsocket.ts │ │ │ ├── helix │ │ │ │ ├── customRewards.ts │ │ │ │ ├── fetchChannelBadges.ts │ │ │ │ ├── fetchChannelCheers.ts │ │ │ │ ├── fetchChannelInformation.ts │ │ │ │ ├── fetchChatters.ts │ │ │ │ ├── fetchGameById.ts │ │ │ │ ├── fetchGameByName.ts │ │ │ │ ├── fetchGlobalBadges.ts │ │ │ │ ├── fetchGlobalCheers.ts │ │ │ │ ├── fetchStreamStatus.ts │ │ │ │ ├── fetchUserFollow.ts │ │ │ │ ├── fetchUserInformation.ts │ │ │ │ ├── moderation.ts │ │ │ │ ├── setStreamGame.ts │ │ │ │ ├── setStreamTags.ts │ │ │ │ └── setStreamTitle.ts │ │ │ └── irc │ │ │ │ ├── bitHandler.ts │ │ │ │ ├── firstMessageHandler.ts │ │ │ │ ├── firstMessageOfStreamHandler.ts │ │ │ │ ├── messageHandler.ts │ │ │ │ ├── parsers │ │ │ │ ├── parseCommand.ts │ │ │ │ ├── parseMessage.ts │ │ │ │ ├── parseParameters.ts │ │ │ │ ├── parseSource.ts │ │ │ │ ├── parseTags.test.ts │ │ │ │ └── parseTags.ts │ │ │ │ ├── returningChatterHandler.ts │ │ │ │ ├── subHandler.ts │ │ │ │ └── twitchIRCWebsocket.ts │ │ └── twitchinsights │ │ │ └── twitchViewerBots.ts │ ├── index.ts │ ├── intervalCommands.ts │ ├── logger.ts │ ├── playSound.ts │ ├── removeOldTTSFiles.ts │ ├── runSocketServer.ts │ ├── storage-models │ │ ├── channel-point-redeem-model.ts │ │ ├── command-model.ts │ │ ├── interval-command-model.ts │ │ ├── quote-model.ts │ │ ├── task-model.ts │ │ ├── timestamp-model.ts │ │ └── user-model.ts │ ├── streamState.ts │ ├── types.ts │ ├── typings │ │ └── twitchEvents.ts │ └── utils │ │ ├── assertArray.ts │ │ ├── createTTSDirectory.ts │ │ ├── endWithFullStop.ts │ │ ├── errorMessage.ts │ │ ├── fakeParsedCommand.ts │ │ ├── getRandomNumberInRange.ts │ │ ├── hasOwnProperty.ts │ │ ├── isError.ts │ │ ├── mention.ts │ │ ├── msToTimeString.ts │ │ ├── promiseAsyncWrapper.ts │ │ ├── simplePluralise.test.ts │ │ ├── simplePluralise.ts │ │ ├── timeBetweenDates.test.ts │ │ └── timeBetweenDates.ts └── tsconfig.json ├── sounds └── silence.mp3 └── start.mjs /.github/workflows/pull-requests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/.github/workflows/pull-requests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/README.md -------------------------------------------------------------------------------- /client/.env.development: -------------------------------------------------------------------------------- 1 | VITE_BOT_SERVER=ws://localhost:6969 -------------------------------------------------------------------------------- /client/.eslintrc.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/.eslintrc.cjs -------------------------------------------------------------------------------- /client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/.gitignore -------------------------------------------------------------------------------- /client/.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/.prettierrc -------------------------------------------------------------------------------- /client/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/index.html -------------------------------------------------------------------------------- /client/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/package-lock.json -------------------------------------------------------------------------------- /client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/package.json -------------------------------------------------------------------------------- /client/public/vite.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/public/vite.svg -------------------------------------------------------------------------------- /client/src/App.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/App.less -------------------------------------------------------------------------------- /client/src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/App.tsx -------------------------------------------------------------------------------- /client/src/assets/react.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/assets/react.svg -------------------------------------------------------------------------------- /client/src/components/CSSSizePicker/CSSSizePicker.less: -------------------------------------------------------------------------------- 1 | .css-size-picker { 2 | display: flex; 3 | gap: 0.5rem; 4 | } 5 | -------------------------------------------------------------------------------- /client/src/components/CSSSizePicker/CSSSizePicker.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/components/CSSSizePicker/CSSSizePicker.tsx -------------------------------------------------------------------------------- /client/src/components/CopyButton/CopyButton.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/components/CopyButton/CopyButton.less -------------------------------------------------------------------------------- /client/src/components/CopyButton/CopyButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/components/CopyButton/CopyButton.tsx -------------------------------------------------------------------------------- /client/src/components/FontPicker/FontPicker.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/components/FontPicker/FontPicker.tsx -------------------------------------------------------------------------------- /client/src/components/TextShadowPicker/TextShadowPicker.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/components/TextShadowPicker/TextShadowPicker.tsx -------------------------------------------------------------------------------- /client/src/components/TextShadowPicker/common.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/components/TextShadowPicker/common.ts -------------------------------------------------------------------------------- /client/src/components/TextShadowPicker/fields/ColorField.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/components/TextShadowPicker/fields/ColorField.tsx -------------------------------------------------------------------------------- /client/src/components/TextShadowPicker/fields/OffsetField.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/components/TextShadowPicker/fields/OffsetField.tsx -------------------------------------------------------------------------------- /client/src/components/TextShadowPicker/fields/SliderField.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/components/TextShadowPicker/fields/SliderField.tsx -------------------------------------------------------------------------------- /client/src/components/TextShadowPicker/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/components/TextShadowPicker/index.tsx -------------------------------------------------------------------------------- /client/src/components/TextShadowPicker/inputs/Input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/components/TextShadowPicker/inputs/Input.tsx -------------------------------------------------------------------------------- /client/src/components/TextShadowPicker/inputs/Label.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/components/TextShadowPicker/inputs/Label.tsx -------------------------------------------------------------------------------- /client/src/components/TextShadowPicker/inputs/OffsetGrid.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/components/TextShadowPicker/inputs/OffsetGrid.tsx -------------------------------------------------------------------------------- /client/src/components/TextShadowPicker/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/components/TextShadowPicker/types.ts -------------------------------------------------------------------------------- /client/src/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/constants.ts -------------------------------------------------------------------------------- /client/src/context/Socket/SocketProvider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/context/Socket/SocketProvider.tsx -------------------------------------------------------------------------------- /client/src/context/Socket/socketContext.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/context/Socket/socketContext.ts -------------------------------------------------------------------------------- /client/src/context/Socket/socketEventHandler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/context/Socket/socketEventHandler.ts -------------------------------------------------------------------------------- /client/src/hooks/useSocketContext.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/hooks/useSocketContext.ts -------------------------------------------------------------------------------- /client/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/index.css -------------------------------------------------------------------------------- /client/src/main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/main.tsx -------------------------------------------------------------------------------- /client/src/store/chatSettingsStore.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/store/chatSettingsStore.ts -------------------------------------------------------------------------------- /client/src/store/songSettingsStore.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/store/songSettingsStore.ts -------------------------------------------------------------------------------- /client/src/store/store.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/store/store.ts -------------------------------------------------------------------------------- /client/src/twitchTypes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/twitchTypes.ts -------------------------------------------------------------------------------- /client/src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/types.ts -------------------------------------------------------------------------------- /client/src/views/Chat/Chat.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Chat/Chat.less -------------------------------------------------------------------------------- /client/src/views/Chat/Chat.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Chat/Chat.tsx -------------------------------------------------------------------------------- /client/src/views/Chat/ChatEntry.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Chat/ChatEntry.tsx -------------------------------------------------------------------------------- /client/src/views/Chat/ChatImageRenderer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Chat/ChatImageRenderer.tsx -------------------------------------------------------------------------------- /client/src/views/Chat/DisappearingChat.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Chat/DisappearingChat.tsx -------------------------------------------------------------------------------- /client/src/views/Chat/NonDisappearingChat.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Chat/NonDisappearingChat.tsx -------------------------------------------------------------------------------- /client/src/views/Chat/UserBadges.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Chat/UserBadges.tsx -------------------------------------------------------------------------------- /client/src/views/Chat/bttvModifierFlags.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Chat/bttvModifierFlags.ts -------------------------------------------------------------------------------- /client/src/views/Chat/chatSearchParamsMap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Chat/chatSearchParamsMap.ts -------------------------------------------------------------------------------- /client/src/views/Chat/contrastCorrected.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Chat/contrastCorrected.ts -------------------------------------------------------------------------------- /client/src/views/Chat/parseFrankerFaceZModifierFlags.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Chat/parseFrankerFaceZModifierFlags.test.ts -------------------------------------------------------------------------------- /client/src/views/Chat/parseFrankerFaceZModifierFlags.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Chat/parseFrankerFaceZModifierFlags.ts -------------------------------------------------------------------------------- /client/src/views/Chat/parseSevenTVModifierFlags.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Chat/parseSevenTVModifierFlags.test.ts -------------------------------------------------------------------------------- /client/src/views/Chat/parseSevenTVModifierFlags.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Chat/parseSevenTVModifierFlags.ts -------------------------------------------------------------------------------- /client/src/views/Chat/useChatSearchParams.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Chat/useChatSearchParams.ts -------------------------------------------------------------------------------- /client/src/views/Dashboard/ChatDashboard.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Dashboard/ChatDashboard.less -------------------------------------------------------------------------------- /client/src/views/Dashboard/ChatDashboard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Dashboard/ChatDashboard.tsx -------------------------------------------------------------------------------- /client/src/views/Dashboard/ChatPreview.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Dashboard/ChatPreview.tsx -------------------------------------------------------------------------------- /client/src/views/Dashboard/Dashboard.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Dashboard/Dashboard.less -------------------------------------------------------------------------------- /client/src/views/Dashboard/Dashboard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Dashboard/Dashboard.tsx -------------------------------------------------------------------------------- /client/src/views/Dashboard/SongDashboard.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Dashboard/SongDashboard.less -------------------------------------------------------------------------------- /client/src/views/Dashboard/SongDashboard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Dashboard/SongDashboard.tsx -------------------------------------------------------------------------------- /client/src/views/Dashboard/TaskDashboard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Dashboard/TaskDashboard.tsx -------------------------------------------------------------------------------- /client/src/views/Song/Song.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Song/Song.less -------------------------------------------------------------------------------- /client/src/views/Song/Song.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Song/Song.tsx -------------------------------------------------------------------------------- /client/src/views/Song/songSearchParamsMap.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Song/songSearchParamsMap.ts -------------------------------------------------------------------------------- /client/src/views/Song/useSongSearchParams.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Song/useSongSearchParams.ts -------------------------------------------------------------------------------- /client/src/views/Task/Task.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Task/Task.less -------------------------------------------------------------------------------- /client/src/views/Task/Task.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/views/Task/Task.tsx -------------------------------------------------------------------------------- /client/src/vite-env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/src/vite-env.d.ts -------------------------------------------------------------------------------- /client/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/tsconfig.json -------------------------------------------------------------------------------- /client/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/tsconfig.node.json -------------------------------------------------------------------------------- /client/vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/client/vite.config.ts -------------------------------------------------------------------------------- /docs/CHANNEL_POINT_REDEEMS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/docs/CHANNEL_POINT_REDEEMS.md -------------------------------------------------------------------------------- /docs/COMMANDS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/docs/COMMANDS.md -------------------------------------------------------------------------------- /docs/CONFIGURATION.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/docs/CONFIGURATION.md -------------------------------------------------------------------------------- /docs/INTERVAL_COMMANDS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/docs/INTERVAL_COMMANDS.md -------------------------------------------------------------------------------- /docs/SETUP.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/docs/SETUP.md -------------------------------------------------------------------------------- /install.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/install.mjs -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/renovate.json -------------------------------------------------------------------------------- /server/.eslintrc.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/.eslintrc.cjs -------------------------------------------------------------------------------- /server/.nvmrc: -------------------------------------------------------------------------------- 1 | 22.21.1 -------------------------------------------------------------------------------- /server/.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/.prettierrc -------------------------------------------------------------------------------- /server/example.commands.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/example.commands.json -------------------------------------------------------------------------------- /server/example.config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/example.config.json -------------------------------------------------------------------------------- /server/example.intervalCommands.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/example.intervalCommands.json -------------------------------------------------------------------------------- /server/example.tokens.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/example.tokens.json -------------------------------------------------------------------------------- /server/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/package-lock.json -------------------------------------------------------------------------------- /server/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/package.json -------------------------------------------------------------------------------- /server/src/auth/spotify.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/auth/spotify.ts -------------------------------------------------------------------------------- /server/src/auth/tokenManager.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/auth/tokenManager.ts -------------------------------------------------------------------------------- /server/src/auth/twitch.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/auth/twitch.ts -------------------------------------------------------------------------------- /server/src/botCommands.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/botCommands.ts -------------------------------------------------------------------------------- /server/src/chat/chatFiltering.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/chat/chatFiltering.ts -------------------------------------------------------------------------------- /server/src/chat/chatMessages.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/chat/chatMessages.test.ts -------------------------------------------------------------------------------- /server/src/chat/chatMessages.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/chat/chatMessages.ts -------------------------------------------------------------------------------- /server/src/chat/getFakeChatMessages.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/chat/getFakeChatMessages.ts -------------------------------------------------------------------------------- /server/src/chat/loadBadges.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/chat/loadBadges.ts -------------------------------------------------------------------------------- /server/src/chat/loadCheers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/chat/loadCheers.ts -------------------------------------------------------------------------------- /server/src/chat/loadEmotes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/chat/loadEmotes.ts -------------------------------------------------------------------------------- /server/src/commands/addcommand.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/addcommand.ts -------------------------------------------------------------------------------- /server/src/commands/commands.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/commands.ts -------------------------------------------------------------------------------- /server/src/commands/fetchcurrentsong.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/fetchcurrentsong.ts -------------------------------------------------------------------------------- /server/src/commands/followage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/followage.ts -------------------------------------------------------------------------------- /server/src/commands/get.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/get.ts -------------------------------------------------------------------------------- /server/src/commands/help.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/help.ts -------------------------------------------------------------------------------- /server/src/commands/helpers/findBotCommand.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/helpers/findBotCommand.ts -------------------------------------------------------------------------------- /server/src/commands/helpers/findOrCreateUser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/helpers/findOrCreateUser.ts -------------------------------------------------------------------------------- /server/src/commands/helpers/generateCommandMessage.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/helpers/generateCommandMessage.test.ts -------------------------------------------------------------------------------- /server/src/commands/helpers/generateCommandMessage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/helpers/generateCommandMessage.ts -------------------------------------------------------------------------------- /server/src/commands/helpers/hasBotCommandParams.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/helpers/hasBotCommandParams.ts -------------------------------------------------------------------------------- /server/src/commands/helpers/isAllowedUser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/helpers/isAllowedUser.ts -------------------------------------------------------------------------------- /server/src/commands/helpers/isPrivileged.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/helpers/isPrivileged.ts -------------------------------------------------------------------------------- /server/src/commands/helpers/parsedMessageHasAllProps.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/helpers/parsedMessageHasAllProps.ts -------------------------------------------------------------------------------- /server/src/commands/helpers/sendChatMessage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/helpers/sendChatMessage.ts -------------------------------------------------------------------------------- /server/src/commands/helpers/songDetail.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/helpers/songDetail.ts -------------------------------------------------------------------------------- /server/src/commands/helpers/stripLeadingExclamationMark.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/helpers/stripLeadingExclamationMark.ts -------------------------------------------------------------------------------- /server/src/commands/helpers/updateStreamStartedAt.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/helpers/updateStreamStartedAt.ts -------------------------------------------------------------------------------- /server/src/commands/lastsong.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/lastsong.ts -------------------------------------------------------------------------------- /server/src/commands/point.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/point.ts -------------------------------------------------------------------------------- /server/src/commands/pointladder.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/pointladder.ts -------------------------------------------------------------------------------- /server/src/commands/points.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/points.ts -------------------------------------------------------------------------------- /server/src/commands/queuesong.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/queuesong.ts -------------------------------------------------------------------------------- /server/src/commands/quote.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/quote.ts -------------------------------------------------------------------------------- /server/src/commands/removealias.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/removealias.ts -------------------------------------------------------------------------------- /server/src/commands/removecommand.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/removecommand.ts -------------------------------------------------------------------------------- /server/src/commands/roll.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/roll.ts -------------------------------------------------------------------------------- /server/src/commands/set.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/set.ts -------------------------------------------------------------------------------- /server/src/commands/skipsong.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/skipsong.ts -------------------------------------------------------------------------------- /server/src/commands/skiptts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/skiptts.ts -------------------------------------------------------------------------------- /server/src/commands/song.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/song.ts -------------------------------------------------------------------------------- /server/src/commands/songqueue.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/songqueue.ts -------------------------------------------------------------------------------- /server/src/commands/spotlight.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/spotlight.ts -------------------------------------------------------------------------------- /server/src/commands/tts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/tts.ts -------------------------------------------------------------------------------- /server/src/commands/uptime.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/uptime.ts -------------------------------------------------------------------------------- /server/src/commands/vanish.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/vanish.ts -------------------------------------------------------------------------------- /server/src/commands/viewers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/viewers.ts -------------------------------------------------------------------------------- /server/src/commands/voices.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/voices.ts -------------------------------------------------------------------------------- /server/src/commands/welcome.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/welcome.ts -------------------------------------------------------------------------------- /server/src/commands/whoami.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/commands/whoami.ts -------------------------------------------------------------------------------- /server/src/config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/config.ts -------------------------------------------------------------------------------- /server/src/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/constants.ts -------------------------------------------------------------------------------- /server/src/fileManager.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/fileManager.ts -------------------------------------------------------------------------------- /server/src/handlers/botCommandHandler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/botCommandHandler.ts -------------------------------------------------------------------------------- /server/src/handlers/bttv/betterTTVWebsocket.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/bttv/betterTTVWebsocket.ts -------------------------------------------------------------------------------- /server/src/handlers/bttv/fetchBetterTTVGlobalEmotes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/bttv/fetchBetterTTVGlobalEmotes.ts -------------------------------------------------------------------------------- /server/src/handlers/bttv/fetchBetterTTVUser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/bttv/fetchBetterTTVUser.ts -------------------------------------------------------------------------------- /server/src/handlers/bttv/schemas.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/bttv/schemas.ts -------------------------------------------------------------------------------- /server/src/handlers/discord/discord.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/discord/discord.ts -------------------------------------------------------------------------------- /server/src/handlers/frankerfacez/fetchFrankerFaceZGlobalEmotes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/frankerfacez/fetchFrankerFaceZGlobalEmotes.ts -------------------------------------------------------------------------------- /server/src/handlers/frankerfacez/fetchFrankerFaceZRoomEmotes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/frankerfacez/fetchFrankerFaceZRoomEmotes.ts -------------------------------------------------------------------------------- /server/src/handlers/frankerfacez/schemas.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/frankerfacez/schemas.ts -------------------------------------------------------------------------------- /server/src/handlers/obs/obsWebsocket.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/obs/obsWebsocket.ts -------------------------------------------------------------------------------- /server/src/handlers/sevenTV/fetchSevenTVEmote.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/sevenTV/fetchSevenTVEmote.ts -------------------------------------------------------------------------------- /server/src/handlers/sevenTV/fetchSevenTVEmoteSets.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/sevenTV/fetchSevenTVEmoteSets.ts -------------------------------------------------------------------------------- /server/src/handlers/sevenTV/fetchSevenTVTwitchUser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/sevenTV/fetchSevenTVTwitchUser.ts -------------------------------------------------------------------------------- /server/src/handlers/sevenTV/schemas.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/sevenTV/schemas.ts -------------------------------------------------------------------------------- /server/src/handlers/sevenTV/sevenTVUser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/sevenTV/sevenTVUser.ts -------------------------------------------------------------------------------- /server/src/handlers/sevenTV/sevenTVWebsocket.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/sevenTV/sevenTVWebsocket.ts -------------------------------------------------------------------------------- /server/src/handlers/spotify/addSongToPlaybackQueue.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/spotify/addSongToPlaybackQueue.ts -------------------------------------------------------------------------------- /server/src/handlers/spotify/fetchCurrentlyPlaying.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/spotify/fetchCurrentlyPlaying.ts -------------------------------------------------------------------------------- /server/src/handlers/spotify/getPlaybackQueue.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/spotify/getPlaybackQueue.ts -------------------------------------------------------------------------------- /server/src/handlers/spotify/getTrack.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/spotify/getTrack.ts -------------------------------------------------------------------------------- /server/src/handlers/spotify/schemas.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/spotify/schemas.ts -------------------------------------------------------------------------------- /server/src/handlers/spotify/skipCurrentSong.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/spotify/skipCurrentSong.ts -------------------------------------------------------------------------------- /server/src/handlers/streamelements/ttsStreamElementsHandler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/streamelements/ttsStreamElementsHandler.ts -------------------------------------------------------------------------------- /server/src/handlers/tiktok/ttsTikTokHandler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/tiktok/ttsTikTokHandler.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/event-sub/subscribers/eventSubscribe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/event-sub/subscribers/eventSubscribe.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/event-sub/subscribers/subscribeToFollows.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/event-sub/subscribers/subscribeToFollows.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/event-sub/subscribers/subscribeToRaids.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/event-sub/subscribers/subscribeToRaids.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/event-sub/subscribers/subscribeToRedeems.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/event-sub/subscribers/subscribeToRedeems.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/event-sub/subscribers/subscribeToStreamOfflineNotifications.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/event-sub/subscribers/subscribeToStreamOfflineNotifications.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/event-sub/subscribers/subscribeToStreamOnlineNotifications.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/event-sub/subscribers/subscribeToStreamOnlineNotifications.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/event-sub/subscribers/subscribeToSubscriptionGifts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/event-sub/subscribers/subscribeToSubscriptionGifts.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/event-sub/subscribers/subscribeToSubscriptions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/event-sub/subscribers/subscribeToSubscriptions.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/event-sub/twitchEventSubHandler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/event-sub/twitchEventSubHandler.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/event-sub/twitchEventSubWebsocket.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/event-sub/twitchEventSubWebsocket.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/helix/customRewards.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/helix/customRewards.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/helix/fetchChannelBadges.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/helix/fetchChannelBadges.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/helix/fetchChannelCheers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/helix/fetchChannelCheers.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/helix/fetchChannelInformation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/helix/fetchChannelInformation.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/helix/fetchChatters.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/helix/fetchChatters.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/helix/fetchGameById.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/helix/fetchGameById.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/helix/fetchGameByName.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/helix/fetchGameByName.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/helix/fetchGlobalBadges.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/helix/fetchGlobalBadges.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/helix/fetchGlobalCheers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/helix/fetchGlobalCheers.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/helix/fetchStreamStatus.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/helix/fetchStreamStatus.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/helix/fetchUserFollow.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/helix/fetchUserFollow.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/helix/fetchUserInformation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/helix/fetchUserInformation.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/helix/moderation.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/helix/moderation.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/helix/setStreamGame.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/helix/setStreamGame.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/helix/setStreamTags.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/helix/setStreamTags.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/helix/setStreamTitle.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/helix/setStreamTitle.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/irc/bitHandler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/irc/bitHandler.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/irc/firstMessageHandler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/irc/firstMessageHandler.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/irc/firstMessageOfStreamHandler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/irc/firstMessageOfStreamHandler.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/irc/messageHandler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/irc/messageHandler.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/irc/parsers/parseCommand.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/irc/parsers/parseCommand.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/irc/parsers/parseMessage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/irc/parsers/parseMessage.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/irc/parsers/parseParameters.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/irc/parsers/parseParameters.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/irc/parsers/parseSource.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/irc/parsers/parseSource.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/irc/parsers/parseTags.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/irc/parsers/parseTags.test.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/irc/parsers/parseTags.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/irc/parsers/parseTags.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/irc/returningChatterHandler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/irc/returningChatterHandler.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/irc/subHandler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/irc/subHandler.ts -------------------------------------------------------------------------------- /server/src/handlers/twitch/irc/twitchIRCWebsocket.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitch/irc/twitchIRCWebsocket.ts -------------------------------------------------------------------------------- /server/src/handlers/twitchinsights/twitchViewerBots.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/handlers/twitchinsights/twitchViewerBots.ts -------------------------------------------------------------------------------- /server/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/index.ts -------------------------------------------------------------------------------- /server/src/intervalCommands.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/intervalCommands.ts -------------------------------------------------------------------------------- /server/src/logger.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/logger.ts -------------------------------------------------------------------------------- /server/src/playSound.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/playSound.ts -------------------------------------------------------------------------------- /server/src/removeOldTTSFiles.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/removeOldTTSFiles.ts -------------------------------------------------------------------------------- /server/src/runSocketServer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/runSocketServer.ts -------------------------------------------------------------------------------- /server/src/storage-models/channel-point-redeem-model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/storage-models/channel-point-redeem-model.ts -------------------------------------------------------------------------------- /server/src/storage-models/command-model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/storage-models/command-model.ts -------------------------------------------------------------------------------- /server/src/storage-models/interval-command-model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/storage-models/interval-command-model.ts -------------------------------------------------------------------------------- /server/src/storage-models/quote-model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/storage-models/quote-model.ts -------------------------------------------------------------------------------- /server/src/storage-models/task-model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/storage-models/task-model.ts -------------------------------------------------------------------------------- /server/src/storage-models/timestamp-model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/storage-models/timestamp-model.ts -------------------------------------------------------------------------------- /server/src/storage-models/user-model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/storage-models/user-model.ts -------------------------------------------------------------------------------- /server/src/streamState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/streamState.ts -------------------------------------------------------------------------------- /server/src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/types.ts -------------------------------------------------------------------------------- /server/src/typings/twitchEvents.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/typings/twitchEvents.ts -------------------------------------------------------------------------------- /server/src/utils/assertArray.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/utils/assertArray.ts -------------------------------------------------------------------------------- /server/src/utils/createTTSDirectory.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/utils/createTTSDirectory.ts -------------------------------------------------------------------------------- /server/src/utils/endWithFullStop.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/utils/endWithFullStop.ts -------------------------------------------------------------------------------- /server/src/utils/errorMessage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/utils/errorMessage.ts -------------------------------------------------------------------------------- /server/src/utils/fakeParsedCommand.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/utils/fakeParsedCommand.ts -------------------------------------------------------------------------------- /server/src/utils/getRandomNumberInRange.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/utils/getRandomNumberInRange.ts -------------------------------------------------------------------------------- /server/src/utils/hasOwnProperty.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/utils/hasOwnProperty.ts -------------------------------------------------------------------------------- /server/src/utils/isError.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/utils/isError.ts -------------------------------------------------------------------------------- /server/src/utils/mention.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/utils/mention.ts -------------------------------------------------------------------------------- /server/src/utils/msToTimeString.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/utils/msToTimeString.ts -------------------------------------------------------------------------------- /server/src/utils/promiseAsyncWrapper.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/utils/promiseAsyncWrapper.ts -------------------------------------------------------------------------------- /server/src/utils/simplePluralise.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/utils/simplePluralise.test.ts -------------------------------------------------------------------------------- /server/src/utils/simplePluralise.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/utils/simplePluralise.ts -------------------------------------------------------------------------------- /server/src/utils/timeBetweenDates.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/utils/timeBetweenDates.test.ts -------------------------------------------------------------------------------- /server/src/utils/timeBetweenDates.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/src/utils/timeBetweenDates.ts -------------------------------------------------------------------------------- /server/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/server/tsconfig.json -------------------------------------------------------------------------------- /sounds/silence.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/sounds/silence.mp3 -------------------------------------------------------------------------------- /start.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mjfwebb/twitch-bot/HEAD/start.mjs --------------------------------------------------------------------------------