@egsbot is a game and utility bot managed by @cbdg.

This site was updated on: 2022-04-24

The egg game

Collect eggs and sell them for points. The more eggs you collect, the more you can sell them for. But be careful, as other players can steal your eggs!

Ask for eggs to collect them, which will randomly steal eggs from another player or find some if you're lucky. You can ask for an egg every 15 minutes. The bot responds to a number of different phrases; here is some inspiration:

Okayeg FBCatch 🥚

Okayeg give eg to cbdg

Okayeg steal eg

If you have eggs, you can sell them on the egg market. Selling has a cooldown to ensure people have eggs that can be stolen.

Okayeg sell eg

If you want to check how many eggs you are holding, what your score is, et cetera:

Okayeg stats?

Scoring & leaderboards

New: To account for (significant) game rebalance changes to the egsp scoring system, scores are split between total and monthly. Your total score is visible in the stats? command and in responses, but the default leaderboard will show recent winnings.

If you want to check the current score leaderboard:

Okayeg top? egsp

Okayeg top? eggs

If you want to check the all-time score leaderboard:

Okayeg top? total

Add the bot to your channel

Review the rules and considerations before requesting the bot. Please join @cbdg's chat and use the command:

!addbot

You can optionally add some more information:

!addbot please set the pajbot banphrase API for my channel to domain XYZ

This will store a request for your channel. Please note that these requests are only reviewed during EU working hours. (If you must, you can also whisper/message @cbdg directly.)

Remove the bot from your channel

To remove the bot, use the `removebot command or simply ban it from the channel. If the bot is banned, it will not rejoin when you unban it.

Note that inactive channels may be removed periodically.

Rules & considerations

You should probably add the Okayeg FFZ/BTTV emote to your channel.

The output of the bot is subject to global Twitch message rate limiting. The bot is marked as a verified bot by Twitch, which means it has higher rate limits than a regular user. Making the bot a VIP or Moderator in your channel is not required, but of course appreciated.

Do not use the bot in a way that will get it banned from Twitch. All interactions with the bot are logged.

Please keep the game fun for everyone.

It is possible to disable various parts of the bot (the egg-game commands, the utility commands, etc). Please make a request if you want this.

Excessive botting of the egg game may result in your account being marked as a bot. Users marked as a bot (for example, because you grab eggs 24/7 on a timer) will not show up on the main leaderboard. Botting leaderboards are available with top? bot egsp and top? bot eg.

Minigames

Want to play blackjack or slots and gamba your eggs?

Okayeg blackjack? your bet of at least 2 eggs

Okayeg slots?

If you're not afraid to lose, roulette your eggs. If you win you double your bet!

Okayeg roulette a bet of 1-12 eggs or all

To reduce chat spam, the cooldown of these commands will be tweaked over time.

The bot can rub its magic egg and answer your most difficult questions:

Okayeg 8ball? your question

Additional commands

Do you have a suggestion, ideas, improvements, or other comment? Ideas for minigames are always welcome.

Okayeg suggest? your suggestion

A short summary of available commands can be reviewed with:

Okayeg help?

If you forgot the URL to this website (how? you're on it right now):

Okayeg website?

Battle system

Experimental feature! Level up your strength by beating other players to become the strongest egg collector. Fight other players using:

Okayeg fight name

Want to up the stakes to 50% of your eggs and strength? Issue a challenge to other players:

Okayeg fight me

You can only fight users who issued a challenge (fight me ⚔), or if they have recently collected an egg.

The winner gains some of the eggs/power of the other player. The loser also loses health points, which need to be regained by consuming eggs. You need at least 4 health to fight, so be sure to heal:

Okayeg heal? 3

Check your stats, health, and strength using:

Okayeg battle stats?

Future features and ideas: in the future, you will automatically gain bonus health, strength, and bonus items while using the gib egg commands. A brawl command might also be added so that multiple players can fight each other at the same time!

Notes: the fight and heal commands will use the number of eggs you specified, or will automatically try to use the right amount if you didn't specify any.

Trivia

Since GaZaTu no longer wants to run the trivia bot in #forsen, I've added this feature to egsbot instead. The trivia feature is enabled on a channel-by-channel basis and can be added on request. Submit new questions on gazatu.xyz.

You can specify the number of questions to ask (up to 50) and include or exclude categories. The default number of questions is 1.

`trivia start 5 include=[Memes,Animal]

`trivia start 10 exclude=[D%20DansGame%20TA]

`trivia stop

Check your score with:

`trivia score

Check the leaderboard:

`trivia top

Commands

Work in progress! A complete list of public commands and features is coming soon .

The command prefix character for the bot is the ` (grave accent) character. Alternatively, you can use the word eb (for example, both `emotes forsen and eb emotes forsen are the same command).

Broadcaster commands

The following commands can only be used by the channel broadcaster.

CommandArgumentsDescription
`removebotRemoves the bot from your channel.
`config alwaysonyes Make the bot always available, even when you're streaming.
`config alwaysonno Make the bot available in offline chat only.
`config cooldown channel [seconds]
user [seconds]
Cooldowns are used to limit the number of messages the bot sends to your channel.
This command configures the cooldown between commands that output messages.
Select a value between 5 and 30 seconds. Other values can be set on request.

Broadcaster commands · Event system

The following commands allow you to use the bot to send a message to your chat when certain events occur. Example:

`event add forsen/online TriHard forsen is online!

`event add egsbot/offline Okayeg 💢 egsbot stopped strim

Events should work for all channels, including your own.

CommandArgumentsDescription
`event add[event] [message]Announce a message in your chat when this event occurs.
`event remove[event]Remove an event message.
`events disableStop announcing previously added events. Does not apply to new events.
`events enableEnable disabled events again.
`events listShow all events in your channel.

Broadcaster commands · Emotes

The following commands can only be used by the channel broadcaster.

CommandArgumentsDescription
`announce emotes enable
`announce emotes disable
Announce changes to FrankerFaceZ and BetterTwitchTV emotes to your channel.
Use the `emotes-refresh command to trigger an update of your emotes.
`emotes-refresh Refresh your channel FFZ/BTTV/7TV/Twitch emotes. Use this after you've changed your emotes. 15 minute cooldown!

User commands · Emotes

The following commands can be used by any user. Note that the bot only tracks channels it is in.

CommandArgumentsDescription
`emote-links[username]Post links to the user's Twitch, FFZ, BTTV, and 7TV emotes.
`emotes-changed[username]Show recently changed channel emotes
Specify global as username for global emote changes.
`emotes-added[username]Show recently added channel emotes
`emotes-removed[username]Show recently removed channel emotes

General commands

The following commands can be used by any user.

CommandArgumentsDescription
`preview[user]Big Twitch stream preview image of a live stream
`uid[user]Show the Twitch ID of a user
`user[user]Show basic information of a user
`stream[channel]Show information on a live or past Twitch stream
`chatters[channel]Shows the number of online chatters in a channel, or the current channel if no argument is given
`emote[emote-id]Show information about an emote
For technical reasons, you must either have the emote OR specify the ID of the emote (right click -> copy the URL)
`founders[user]Show the Twitch founders of a streamer
`saSubage
`faFollowage
`wordlePlay a game of wordle. Try to guess the 5 letter word in 6 tries.
`ds1Random Dark Souls soapstone message
`ds2Random Dark Souls II soapstone message
`ds3Random Dark Souls III soapstone message
`desRandom Demon's Souls soapstone message
`ddRandom Darkest Dungeon message
`bloodborneRandom Bloodborne Notebook message
`eldenringRandom Elden Ring message
`egCollect an egg
`yoinkSteal an egg
`customtrivia3 start
`trivia start
[questions] [categories] GaZaTu2-style trivia using questions from gazatu.xyz. Check above for more info.
Command available on request
`customtrivia3 stop
`trivia stop
Trivia stops after the current question ends.

About

This bot is mainly written as a way to experiment with various ideas on how to interact with Twitch and other chat/streaming platforms, in both the technical and creative sense. The games are geared towards Forsen's (extended) community and are (hopefully) a fun contribution to chat, giving (offline) chatters something to do.

Some more information about the inner workings of the bot are coming at some point. Cool features the bot has:

  • Radix tree based command table
  • Sets of commands can be hosted outside of the bot process (which interacts with TMI), and these sets shared between multiple bot instances (using an HTTP-based transport)
  • Fragment-based banphrase system (for partial censoring)
  • Written in Go with full support for pooled TMI and PubSub connections

The bot was added to chat on 2020-08-22 (called 0x7ff back then), although some of the codebase is significantly older (based on earlier IRC chat bots and some previous chat monitoring tools).