Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gbowne1/twitchbot
A MERN full stack TwitchBot
https://github.com/gbowne1/twitchbot
bot bot-api express express-js expressjs mern-stack node node-js nodejs react react-js reactjs twitch twitch-api twitch-bot twitchbot twitchtv
Last synced: 20 days ago
JSON representation
A MERN full stack TwitchBot
- Host: GitHub
- URL: https://github.com/gbowne1/twitchbot
- Owner: gbowne1
- License: mit
- Created: 2023-04-27T01:00:22.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-25T10:45:28.000Z (5 months ago)
- Last Synced: 2024-06-25T12:08:52.011Z (5 months ago)
- Topics: bot, bot-api, express, express-js, expressjs, mern-stack, node, node-js, nodejs, react, react-js, reactjs, twitch, twitch-api, twitch-bot, twitchbot, twitchtv
- Language: JavaScript
- Homepage:
- Size: 880 KB
- Stars: 7
- Watchers: 2
- Forks: 9
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# TwitchBot
This is a Twitch ChatBot that has a React and MUI/MaterialUI frontend, and NodeJS backend, with a MongoDB database. Once a Twitch ChatBot is established, this application gives numerous features and commands available to the streamer and their viewers. Through this TwitchBot, interaction between a streamer and their chat, along with people within chat is enhanced, being able to provide information on the stream along with numerous activities
This bot uses these technologies in the stack
![MongoDB](https://img.shields.io/badge/MongoDB-4EA94B?style=for-the-badge&logo=MongoDB&logoColor=white)
![Express](https://img.shields.io/badge/Express.js-000000?style=for-the-badge&logo=express&logoColor=white)
![React](https://img.shields.io/badge/React-61DAFB?style=for-the-badge&logo=react&logoColor=white)
![Node.js](https://img.shields.io/badge/Node.js-339933?style=for-the-badge&logo=node.js&logoColor=white)
![Material-UI](https://img.shields.io/badge/Material--UI-0081CB?style=for-the-badge&logo=material-ui&logoColor=white)
![tmi.js](https://img.shields.io/badge/tmi.js-1.8.5-blue?style=for-the-badge)## Table of Contents
- [Features](https://github.com/gbowne1/TwitchBot/blob/main/README.md#Features)
- [Installation and Setup](https://github.com/gbowne1/TwitchBot/blob/main/README.md#Installation-and-Setup)
- [Usage](https://github.com/gbowne1/TwitchBot/blob/main/README.md#Usage)
- [Available Commands](https://github.com/gbowne1/TwitchBot/blob/main/README.md#Available-Commands)
- [Contributing](https://github.com/gbowne1/TwitchBot/blob/main/README.md#Contributing)
- [Licensing](https://github.com/gbowne1/TwitchBot/blob/main/README.md#Licensing)
- [Warning](https://github.com/gbowne1/TwitchBot/blob/main/README.md#Warning)## Features
- React and Material UI Frontend
- Points and Command Leaderboard
- Various Twitch commands (some of which remain in development)
- 8ball, accountage, ban, commands, discord, donate, famousCommand, follwage, lurk, poll, project, quote, request, schedule, social, song, timeout, uptime, and weather## Installation and Setup
1. Clone or Fork the repository. Clone if you intend to just fix bugs, etc., Fork if you intend to use this to create your own.
2. Install client dependencies using while inside /src/client run `npm install`
3. install server dependencies using while inside /src/server run `npm install`
4. An example .env file `.env-example` is provided. Rename to .env and fill in your details.## Usage
This TwitchBot uses TMI.js library in order to connect to and interact with TwitchBot.
To start the Twitch bot, in /src/client run:```bash
npm start
```The server/backend/database is currently set up in `app.js` on the server side in /src/server
To start the Twitch bot server/backend, in /src/server run:
```bash
npm start
```The bot will then connect to the Twitch channel chat and listen for commands and respond
## Available Commands
The bot will support the following commands:
!accountage: Shows how old the user's Twitch account is.
!ban : Bans a user from the channel (moderator/broadcaster only).
!commands: Displays a list of available commands.
!discord: Provides a link to the designated Discord server.
!followage: Shows how long the user has been following the channel.
!project : Sets or updates the current project being worked on.
!timeout : Times out a user for a specified duration (moderator/broadcaster permission only).
!uptime: Displays the channel's uptime.## Contributing
If you wish to contribute to this project, head over to [Contributing.md](https://github.com/gbowne1/TwitchBot/blob/main/CONTRIBUTING.md) for more information.
## Licensing
For more information on the licensing of this project, refer to [LICENSING](https://github.com/gbowne1/TwitchBot/blob/main/LICENSE)
## Warning
[Under Construction] Please do not use this in production. There is no guarantee this will connect to Twitch Chat.
It will need significant work in order to be used with Twitch and or connect to it's services.