Skip to content

RogueEffect/SpiffBot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SpiffBot

Interactive Twitch IRC bot

This is my IRC bot I threw together hastily night by night to add some fun interactivity to twitch.

I'm using an arduino currently to drive some leds/servo's/vibration motors, but I plan on expanding this.

The code is VERY ugly, VERY buggy, and is changed just about daily... Its literally cobbled together every night about 30 minutes before I stream to add a few features/fix a few bugs here and there. (I avoid large re-writes because it would mean downtime for the stream) which makes it even uglier lol...

Setup

Software Requirements:
  1. Python 2.7.* x86 (latest) https://www.python.org/downloads/
  2. Mysql http://www.easyphp.org/
    1. Add sql setup here
  3. pyserial (pip install pyserial)
  4. pygame http://www.pygame.org/download.shtml
  5. requests (pip install requests)
  6. win32api https://sourceforge.net/projects/pywin32/files/
  7. mysql https://dev.mysql.com/downloads/connector/python/
  8. comtypes (pip install comtypes)
  9. pil (http://www.pythonware.com/products/pil/)
Configuration:
  1. Update twitch_auth.py
    1. get_oauth: https://twitchapps.com/tmi/
    2. get_bot: Twitch bot username
    3. get_db_user: username configured in mysql db
    4. get_db_pass: password configured for mysql db user

Scare features

  1. Open cdrom
  2. Vibrate control (if using one)
  3. Drop a box
  4. Grab fabric of pants with servo strapped to leg
  5. Tap shoulder
  6. Vibrate chest
  7. Rattle vibration motor on desk
  8. Touch neck/back with servo
  9. Pop up scary gif
  10. write scare status to txt for OBS display
  11. <h1>Troll features (also available during scary games)</h1>
    <ol>
        <li>Playing sounds (in center/left/right ears)</li>
        <li>Turning off all monitors</li>
        <li>Turning off all volume</li>
        <li>Move game window around monitors randomly</li>
        <li>Strobe game sccreen</li>
        <li>Dim game screen</li>
        <li>Draw a randomly sized black box in the middle of the screen</li>
        <li>Turning off all monitors</li>
        <li>Randomly press keyboard buttons</li>
        <li>Randomly move mouse around</li>
        <li>Randomly disable all keyboard and mouse input</li>
        <li>Minimize all windows</li>
        <li>Turning off all monitors</li>
    </ol>
    

LED/light features

  1. Midi Drum input to light output
  2. alternate(color,color)
  3. chase(color|*)
  4. fire(color|color) animation
  5. disco fire
  6. disco animation
  7. disco strobe
  8. strobe animation
  9. accept html ffffff #ffffff 0xffffff ff,ff,ff 255,255,255 in all animations for colors
  10. after light command, fade to white during normal, and go to black during scary
  11. color commands only run for a set amount of time
  12. prevent light animations from occuring while scares are going on

Additional features:

  1. "command mode" to select a viewer at random, and let them use priviledged commands
  2. !optin, and !optout commands to allow users to opt in and out of "command mode"
  3. database persistence
  4. !pass command to allow users to pass to someone else, or a specific user
  5. timer thread to automatically give up control from afk users
  6. switching mode from scary to normal
  7. switch if user in control opts out
  8. get viewers as well as moderators
  9. allow streamer to use any command without causing a switch
  10. !game command lets viewers know what game is being played
  11. admin commands allowing manual switch's, and switch next (to not steal the current persons turn)
  12. !whosgotit command to let viewers know who currently has control
  13. !timeleft command to let viewers know how much time is left
  14. !opted command to let viewers know if they are opted in or not

About

Interactive Twitch IRC bot

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 53.9%
  • C# 43.4%
  • PHP 1.5%
  • Other 1.2%