Twitch Bot Project (Rust)

Overview

Twitch Bot Project (Rust)

Overview

This is a Twitch bot written in Rust that connects to the Twitch IRC server and allows users to interact with the bot via chat messages. The bot can join multiple Twitch channels and respond to commands.

Features

  • Connects to the Twitch IRC server using an OAuth token for authentication.
  • Allows the bot to join multiple Twitch channels specified in the configuration file.
  • Listens to chat messages from the channels and responds to specific commands.
  • Sends messages to the chat in response to user input.
  • Gracefully handles CTRL+C signal to terminate the bot.

Getting Started

Prerequisites

  • Rust programming language is installed on your system.

Installation

  1. Clone the repository to your local machine.
git clone https://github.com/icsboyx/rustbotx.git
  1. Change into the project directory.
cd rustbotx

Configuration

Before running the bot, make sure to create a config.json file in the project directory with the following content:

  "server":"irc.server.addr",
  "port": 6667,
  "ssl_tls": true, 
  "ssl_verify_mode" : true,
  "token": "YOUR_TWITCH_OAUTH_TOKEN",
  "nickname": "YOUR_BOT_NICKNAME",
  "channels": ["channel1", "channel2", "channel3", "channel_N"]
  • "ssl_tls": true, for ssl/tls
  • "ssl_tls": false for tcp clear

Replace YOUR_TWITCH_OAUTH_TOKEN with your Twitch OAuth token, and YOUR_BOT_NICKNAME with your desired bot nickname. Add the Twitch channels you want the bot to join in the "channels" array.

Usage

  1. Build and run the bot.
cargo run
  1. The bot will connect to the Twitch IRC server and join the specified channels.
  2. It will start listening to chat messages and respond to commands from viewers.
  3. To send a message to the chat, type your message in the console and press Enter.

Tags

  • v1.0.0: Initial release of the Twitch bot.
  • beta: Beta version of the bot with additional features.

Contribution

Contributions are welcome! If you find a bug or want to add new features, feel free to create a pull request.

Special Thanks

This project was inspired by the Twitch channel of Prof. Andrea Pollini and the supportive Twitch community. Thanks to their encouragement and feedback!

License

This project is licensed under the MIT License - see the LICENSE for details.

You might also like...
A versatile and dynamic music bot designed to elevate the musical experience within Discord servers.

Masayoshi Masayoshi is a discord music bot written in Rust for making a great experience within Discord servers with support to Youtube, SoundCloud, S

rpm (Rust project manager) is a tool that helps you to manage your rust projects

rpm rpm (Rust project manager) is a open source tool for managing your rust project in an organized way Installation # make sure you have rust install

auto-rust is an experimental project that aims to automatically generate Rust code with LLM (Large Language Models) during compilation, utilizing procedural macros.
auto-rust is an experimental project that aims to automatically generate Rust code with LLM (Large Language Models) during compilation, utilizing procedural macros.

Auto Rust auto-rust is an experimental project that aims to automatically generate Rust code with LLM (Large Language Models) during compilation, util

A CLI tool that allow you to create a temporary new rust project using cargo with already installed dependencies
A CLI tool that allow you to create a temporary new rust project using cargo with already installed dependencies

cargo-temp A CLI tool that allow you to create a new rust project in a temporary directory with already installed dependencies. Install Requires Rust

The dead easy way to use config files in your rust project

Configr The dead easy way to use config files in your project This will load a config.toml file if it exists, otherwise it will create the needed fold

Baby's first Rust CLI project. Basic implementation of grep. Written in about 100 SLOC.

minigrep Coding project from Chapter 12 of the The Rust Programming Language book. Usage Compile and run as so minigrep QUERY FILENAME QUERY being the

This repository presents a numbers vizualizer in a polar base. This small project has been entirely made in Rust !

NumbersRepresentation This repository presents a numbers vizualizer in a polar base. This small project has been entirely made in Rust ! This is an id

An NTP implementation in Rust, supported by Internet Security Research Group's Prossimo project.

NTPD-rs NTPD-rs is an implementation of NTP completely written in Rust, with a focus on exposing a minimal attack surface. The project is currently in

Bracket QOS - a Quality of Service/Experience server system writtin in Rust. Derived from the excellent LibreQOS Project.

Bracket QOS - Open Source Edition This project is based on the excellent LibreQOS project. It is hoped that this can be useful for the upstream projec

Owner
icsboyx
I'm not a programmer! I'm passionate about learning ICT concepts through hands-on experimentation.
icsboyx
A Twitch OAuth token revoker written in Rust.

Revoker - A Twitch OAuth Token Revoker Details Revoker is a small CLI tool written in Rust, made so you can easily and urgently remove a Twitch OAuth

Mykola 4 May 20, 2022
Twitch chat in the terminal.

Twitch Chat IRC, in the terminal. What it looks like: Keybinds: Normal mode Key Description ? Have the keybinds window appear. i Enter insert mode for

null 172 Dec 30, 2022
Twitch chat in the terminal.

Twitch chat in the terminal. What it looks like: Keybinds: Normal mode Key Description c Go to the chat window chat. i Enter input mode for sending me

null 176 Jan 5, 2023
LL Cool Twitch Tools

LL Cool Twitch Tools Hit me up on my twitch channel This project is a playground twitch API playground for me.

Christopher N. KATOYI 9 Dec 23, 2022
A multi-threaded Twitch chat archiving and downloading tool.

Twitch Chat Downloader ??️ tcd is a multi-threaded Twitch Chat Downloader built in Rust ?? . Usage: tcd [OPTIONS] <--channel <CHANNEL>|--video <VIDEO>

Matthew Polak 6 Dec 19, 2022
SKYULL is a command-line interface (CLI) in development that creates REST API project structure templates with the aim of making it easy and fast to start a new project.

SKYULL is a command-line interface (CLI) in development that creates REST API project structure templates with the aim of making it easy and fast to start a new project. With just a few primary configurations, such as project name, you can get started quickly.

Gabriel Michaliszen 4 May 9, 2023
A discord bot to view & monitor OpenSea collections, written in Rust

Titan What is this This is a discord bot to monitor OpenSea collections and get info about them, including: Floor Price Activity Sales per Hour And mo

theldb 3 Oct 11, 2022
Slack chat bot written in Rust that allows the user to interact with a large language model.

A Slack chat bot written in Rust that allows the user to interact with a large language model. Creating an App on Slack, first steps Go to https://api

Marco Inacio 13 Nov 2, 2023
Cold Clear 2 is a modern Tetris versus bot and a complete rewrite and evolution of Cold Clear.

Cold Clear 2 Cold Clear 2 is a modern Tetris versus bot and a complete rewrite and evolution of Cold Clear. It implements the Tetris Bot Protocol for

Mark Carlson 27 Dec 28, 2022
A discord bot for detecting ghost pings

Anti Ghost Ping Status This is not the production bot code nor a working bot, just a rewrite in rust. How to Run Requirements: Postgres db Fill out .e

Anti Ghost Ping 3 Aug 9, 2022