Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tomaarsen/twitchdialcheck
Twitch Bot to detect and rate DIAL-in checks.
https://github.com/tomaarsen/twitchdialcheck
bot python twitch twitch-bot twitchbot
Last synced: 28 days ago
JSON representation
Twitch Bot to detect and rate DIAL-in checks.
- Host: GitHub
- URL: https://github.com/tomaarsen/twitchdialcheck
- Owner: tomaarsen
- License: mit
- Created: 2019-03-04T15:42:54.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-05-22T22:30:01.000Z (over 1 year ago)
- Last Synced: 2024-10-26T23:38:34.048Z (2 months ago)
- Topics: bot, python, twitch, twitch-bot, twitchbot
- Language: Python
- Size: 18.6 KB
- Stars: 1
- Watchers: 2
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TwitchDialCheck
Twitch Bot to detect and rate DIAL-in checks.---
# Note
This Bot was written for one streamer in particular, which means this script likely will not be useful to anyone else, but people interested in checking out how I use my [TwitchWebsocket](https://github.com/CubieDev/TwitchWebsocket) library.---
# Functionality
This Bot will read Twitch chat looking for messages such as "Dial", "dangDial", "D I A L", and so forth.
Ten seconds after the most recent of these messages the bot will output a "Dial Percentage" based on this formula:`trues = amount of DIAL messages`
`ratio = trues / total messages found in the span`
`percentage = trues / (amount of current viewers / 1.5) * 100`
`result = min(percentage * ratio * 10 * 0.9 + 10 + random.uniform(-1, 1), 100)`In short, it's a linear formula based on the percentage of chat that was involved in the messages, and the ratio of DIAL messages relative to other messages, ranging from 10% to 100%.
---
# Settings
This bot is controlled by a settings.txt file, which looks like:
```
{
"Host": "irc.chat.twitch.tv",
"Port": 6667,
"Channel": "#",
"Nickname": "",
"Authentication": "oauth:"
}
```| **Parameter** | **Meaning** | **Example** |
| -------------------- | ----------- | ----------- |
| Host | The URL that will be used. Do not change. | "irc.chat.twitch.tv" |
| Port | The Port that will be used. Do not change. | 6667 |
| Channel | The Channel that will be connected to. | "#CubieDev" |
| Nickname | The Username of the bot account. | "CubieB0T" |
| Authentication | The OAuth token for the bot account. | "oauth:pivogip8ybletucqdz4pkhag6itbax" |*Note that the example OAuth token is not an actual token, but merely a generated string to give an indication what it might look like.*
I got my real OAuth token from https://twitchapps.com/tmi/.
---
# Requirements
* [Python 3.6+](https://www.python.org/downloads/)
* [Module requirements](requirements.txt)
Install these modules using `pip install -r requirements.txt`Among these modules is my own [TwitchWebsocket](https://github.com/CubieDev/TwitchWebsocket) wrapper, which makes making a Twitch chat bot a lot easier.
This repository can be seen as an implementation using this wrapper.---
# Other Twitch Bots
* [TwitchMarkovChain](https://github.com/CubieDev/TwitchMarkovChain)
* [TwitchAIDungeon](https://github.com/CubieDev/TwitchAIDungeon)
* [TwitchGoogleTranslate](https://github.com/CubieDev/TwitchGoogleTranslate)
* [TwitchCubieBotGUI](https://github.com/CubieDev/TwitchCubieBotGUI)
* [TwitchCubieBot](https://github.com/CubieDev/TwitchCubieBot)
* [TwitchRandomRecipe](https://github.com/CubieDev/TwitchRandomRecipe)
* [TwitchUrbanDictionary](https://github.com/CubieDev/TwitchUrbanDictionary)
* [TwitchRhymeBot](https://github.com/CubieDev/TwitchRhymeBot)
* [TwitchWeather](https://github.com/CubieDev/TwitchWeather)
* [TwitchDeathCounter](https://github.com/CubieDev/TwitchDeathCounter)
* [TwitchSuggestDinner](https://github.com/CubieDev/TwitchSuggestDinner)
* [TwitchPickUser](https://github.com/CubieDev/TwitchPickUser)
* [TwitchSaveMessages](https://github.com/CubieDev/TwitchSaveMessages)
* [TwitchMMLevelPickerGUI](https://github.com/CubieDev/TwitchMMLevelPickerGUI) (Mario Maker 2 specific bot)
* [TwitchMMLevelQueueGUI](https://github.com/CubieDev/TwitchMMLevelQueueGUI) (Mario Maker 2 specific bot)
* [TwitchPackCounter](https://github.com/CubieDev/TwitchPackCounter) (Streamer specific bot)
* [TwitchDialCheck](https://github.com/CubieDev/TwitchDialCheck) (Streamer specific bot)
* [TwitchSendMessage](https://github.com/CubieDev/TwitchSendMessage) (Meant for debugging purposes)