Skip to content

Ridgure/TwitchBot

Repository files navigation

FVCproductions


Markdownify
Riboture

An IRC bot written in python and made for my Twitch channel Twitch.tv/Ridgure.

Key FeaturesGetting startedAcknowledgementsConnect

Features:

Commands:

Commands for everyone:
General:
!commands
!lurk
!fc
!followdate
!oclock
!uptime
!asylumcraft
!bot
!support
Stating emotion:
!bellyrub
!scrowl
!smile
Minecraft related:
!pack
!sevtech
!tp
!java
Runescape related:
!oscommands
!osrank
!osirank
!oshirank
!osuirank
!osdmrank
Socials: Links to socials:
!social Shows all Ridgure's social media accounts
!instagram link to Instagram
!facebook link to Facebook
!twitter link to Twitter
!discord link to Discord
!ctt Generates a custom Click to Tweet link when sent in the twitch chat
Calculator:
!add
!multipy
!divide
Bat cave:
!bat
!batnamechange
!batgenderchange
Subscriber commands:
Elf tree:
!elf
!elfnamechange
!elfgenderchange
Broadcaster commands:
Tables:
!raid
!shout
!breakdance
User specific commands:
User specific:
!lick - Wolfpupgirl
!timemeout - KbigLiar
!jc747 - JC747
!octo - Octostarx
!ruffle - IvanabCroftin

Automated functions:

Done by the bot automatically:
Follower notification
Subscriber notification
Output last 20 messages in chat to a file
"Eww cobble" every time cobble is mentioned
Times out non vip/moderators if they post links
Bans users that use bad language

Getting started

Clone

Clone this repository to your local machine using git clone https://github.com/Ridgure/TwitchBot.git

Setup

In order to be able to run the bot add a file config.py in the same folder as the bot and go through the steps below: config.py should look something like this:

Host = "irc.twitch.tv"         # The Twitch IRC server
Port = 6667                    # Always use port 6667!
Nickname = "<Name>"            # Your Twitch username, lowercase
FollowerToken = "<Token>"      # Token generated by twitchapps.com/tmi without the oauth: part
SubscriberToken = "<Token>"    # Self generated token
Channel = "#<Channel>"         # The channel you want to join
ClientID = "<ClientID>"        # Your client ID
  • Create a Twitch account with the name of your bot
  • Register your application on the Twitch developer site
    • Set the Name to the name of the account you just created
    • Set the redirect uri to http://localhost
    • Set the application directory to Chat Bot
    • Agree to the terms and conditions
    • Get a Client_ID and a Client_Secret
  • Generate your token for accessing follower data and chat
    • Go to Get token here and click connect with twitch
    • Click Authorize
    • Your token should look something like this: oauth:a1b2c3d4e5f6g7h8i9j1k2l3m5n6o7
  • Generate your token for accessing subscriber data
    • Go to the link underneath
    • Remember to swap out <clientID> with your client id!
    • Click Authenticate
    • It will look like you got a blank page but your url should look like the second url
    • Your access token is the gibberish where it says Token in the url
https://id.twitch.tv/oauth2/authorize?client_id=<clientID>&redirect_uri=http://localhost&response_type=token&scope=channel_subscriptions+user_read+channel_check_subscription+chat_login
http://localhost/#access_token=<Token>&scope=channel_subscriptions+user_read+channel_check_subscription+chat_login&token_type=bearer

Prerequisites

You will need to install these things to run the bot

Running the bot

Run bot.py by going to its location and running this command:

python bot.py

Acknowledgements:

This whole project started off with this Instructables article

Other interesting projects to check out:

PythonBot by ZERG3R on Twitch as ZERG3R

Ponderier by DillonEA on Twitch as DillonEA

Xekeism by XekeDeath on Twitch as XekeDeath

Connect:

Twitch

See the bot in action when I am live on Twitch over at Twitch.tv/Ridgure

Social media

Please follow me on: Facebook, Twitter and Instagram