/TwitchBot

This is an irc bot written in python by Ridgure for Ridgure

Primary LanguagePythonMIT LicenseMIT

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