Music. Coding. Gaming. Life.

SixBotGG

Project Homepage: https://github.com/roncli/SixBotGG
Primary Language: JavaScript
Created: 3/3/2016 7:16:06 am (3/3/2016)
Updated: 7/16/2018 8:57:34 pm (7/16/2018)

A custom Twitch and Discord chat bot for Six Gaming's Twitch channel at http://twitch.tv/sixgaminggg and Discord server at http://ronc.li/six-discord.

Releases

v1.4

* Implement advanced logging which outputs bot activity to #bot-activity, and error activity to #bot-errors.
* Implement channel categories, with one each for bot channels, general channels, streamer channels, and voice channels.
* Enhance bot output using Discord Rich Embeds, with text-only fallbacks.
* Eliminate `!addtwitch`, `!removetwitch`, and `!confirm` commands, and just automatically determine if the user is a Six Gaming streamer using statuses on Discord.
* Damn, I'm pretty. 😍

v1.3.1

* Code refactored for readability.
* * Main module now only handles initial connect and startup calls.
* * Separate modules for database, Discord API, Twitch API, and Tmi connectivity.
* * Preparing for advanced logging by breaking out logging into its own module and adding an exception module to throw errors along with where they occurred.
* * Randomonium is now in its own module.
* * * Added Doomfist and Moira to randomonium.
* * Commands are now in their own module, and are used by instanciating the Commands class with whether the commands will be coming from Discord or Tmi. Security on these commands are now done per command, which allows for commands to be shared between different services.
* Big update. Zero new features. 💯

v1.3

* Bot no longer pings @everyone when a streamer goes live. Instead, you must `!streamnotify` to be alerted to when a streamer goes live, and `!streamunnotify` to turn it off.
* Bot no longer creates #game-* channels for every game that is created.
* Bot no longer creates #twitch-* text channels for every Twitch streamer who registers. Instead, you must `!admychannel` to create your text channel, and `!removemychannel` to remove it.
* It sucks less. 👌

v1.2.1

* Added Sombra and Orisa to `!randomonium`.

v1.2

This fixes issues with libraries and fixes a number of bugs.
- Replaced IRC library with tmi.js for smoother IRC operation.
- Fix various issues with the discord.js upgrade.

v1.1.5

This is a library upgrade and bug fix release.
- Fixed issues with discord.js upgrade.
- Fixed a bug where the IRC bot would get stuck talking about the website.

v1.1.4

This is a bug fix release.
- Fixed voice channel issues.

v1.1.3

This is a bug fix release.
- Added Ana to `!randomonium`.
- Fixed diacritics for `!randomonium`.
- Fixed a bug with Six Gaming going live on Twitch.

v1.1.2

This is a bug fix release.
- Fixed a bug with randomonium.

v1.1.1

Adds the `!randomonium` command.

v1.1

This major release includes database connectivity and a Discord bot.
- Allow Twitch hosting commands from Discord.
- Allow users to register as Twitch streamers on Discord with Twitch confirmation. This replaces the old hosting rotation system that had Twitch users manually entered.
- Created a secondary hosting rotation that users with the Podcasters role can freely add or remove from. Streamers in the primary rotation are always given priority over this secondary rotation.
- Allow Discord users to create voice channels that auto-delete after being empty for 5 minutes.
- Added a system that creates Discord roles for games that can be subscribed to for notification.

v1.0.1

This is a bug fix release.
- Do not greet SixBotGG or SixGamingGG in chat.
- Do not assume people have been unmodded, and do not greet if they were already modding.
- Check if `response` is an object before trying to check the `stream` object.

v1.0.0

This is the initial release of the SixBotGG chat bot.
- Auto logs into Twitch and enters the #sixgaminggg chat
- Recognizes the !facebook, !twitter, !youtube, and !itunes commands from all users.
- Auto-cycles through the above four commands when both 10 minutes and 5 chat messages have occurred.
- Recognizes the !host and !unhost commands from moderators.
- Automatically cycles every 10 minutes through hosting a select list of streamers when SixGamingGG is offline.
- Hosts someone else when the currently hosted client's stream ends.
- Stops hosting when manually hosting another streamer, or SixGamingGG starts streaming.

Recent Commits

1de9f2a Fix bug with streamers/hosts being listed multiple times in stream announcements. Fix bug with hosts not being removed after becoming streamers. Fix error handling. Log unhandled promise rejections.
a022683 Use database library, and better handle calls to the database.
0b46548 Add Brigitte to randomonium.
12d5dec Fix various bugs.
bac3e5e Fix bug where a hosted stream username is not lower cased.
6e9908f Remove streamers who have left the Discord server.
320ffc4 Upgrade to Discord.js 11.3.
1fcae1d Fix various bugs with auto hosting.
9b04f07 Version 1.4.
92cda5a Fix minor bugs.
e5ac7b1 Update to auto-make users streamers.
c4328cc Partial checkin of 1.4, untested.
0d4662e Various bug fixes.
e114ef8 Initial commit of the new code base. Untested, probably has lots of bugs.
fa8b18a Version 1.3. Opt into stream notifications and #twitch-* channels, update libraries. It sucks less.
d3313d7 Do not create or delete #game channels.
6d46fdc Version 1.2.1.
6fc9019 Version 1.2.
33d8564 Remove return line.
a7b3eef Fix various issues with discord.js upgrade.
aaa3a51 Replaced IRC library with tmi.js package.
5d92d20 Add Sombra to randomonium.
ac08262 Remove console log.
fc69210 Fix bug with new streamers.
2914fa9 Fix bug with streams crashing the bot.
4d4377b Fix bug with six.gg message.
a0af6b7 * Fixed issues with discord.js upgrade.
* Fixed a bug where the IRC bot would get stuck talking about the website.
ee168f7 Discord.js upgrade to fix voice channel tracking issues.
cd53927 Fixes to randomonium.
172345e Fixed a bug with randomonium.
8806eb8 Bug fix for Six Gaming going live.
e24a586 Just use a standard for loop here.
682833a Bump version number.
01a484e Add the `!randomonium` command.
900181b Fix bug with Twitch list being empty when it shouldn't be. Add Twitch IRC moderator check to RAW since it doesn't always work in +mode.
fe46bc9 Bug fixes, including rewrite of the hosting system to make a lot more sense.
b6741cb * Allow Twitch hosting commands from Discord.
* Allow users to register as Twitch streamers on Discord with Twitch confirmation. This replaces the old hosting rotation system that had Twitch users manually entered.
* Created a secondary hosting rotation that users with the Podcasters role can freely add or remove from. Streamers in the primary rotation are always given priority over this secondary rotation.
* Allow Discord users to create voice channels that auto-delete after being empty for 5 minutes.
* Added a system that creates Discord roles for games that can be subscribed to for notification.
64b35a7 Version 1.0.1
- Ensure results exist before checking streams.
- Don't check for people losing mod status
- Don't greet people if they were already mods.
- Do not greet SixBotGG or SixGamingGG.
eaedd28 Include instructions for creating settings.js file.
62aafa2 Initial release of SixBotGG.
c11d561 Initial commit
roncli.com Media Player