Skip to content

FrikyMediaLP/FrikyBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FrikyBot

FrikyBot is the Twitch Chat Bot and WebInterface by FrikyMediaLP. This Bot will combine Features from many diffrent Twitch Bots/Websites/... into one experience.

The Scope has changed A LOT tho! For now, this Bot is (mostly) focused to be used by myself alone until most is done! But at some point a public Release to run on multiple custom servers by anyone is desired. This will take a while, but tipps and insight is ALWAYS welcome :) I´m still lerning much about all of this :D

Note: This is a Hobby, nothing professionell or any good and thats great! So keep that in mind, when given criticism about any "uncommon" workflows :D

Getting Started

This Twitch Bot is powered by Node.js using the Express NPM Module to host a localhost Server to Interface with the Bot.

To install the bot, download this repository to your local machine or a cloud server. Open the commandline, navigate to the downloaded "server.js" file and run the command "npm install".

This will install all necessary dependancies and setup the bot files.

All dependancies are:

  • express - hosting the Server
  • body-parser - RAW Express Body Data Access
  • ws - WebSocket Capabilities
  • bcrypt - Hashing and random Generator
  • jsonwebtoken - Login Token creation / verification
  • jwks-rsa - JWT extern signature usage
  • node-fetch - to use fetch() like in the Browser, this requieres v^2.6.5
  • colors - coloring the Console Output

To start the bot, run the "npm start" command and follow the commandline interface until the bot is ready. Then navigate to http://localhost:8080/login and use the displayed token in the commandline to gain Admin privileges.

Then youre able to access the Web-Setup at http://localhost:8080/settings/setup and customize your bot the way you want. Extra Packages can be found here: FrikyMediaLP Repositories

Some features (like Twitch EventSubs) need an https / SSL secured domain. This can be done by deploying the bot to a custom domain or using proxys like ngrok.

Modules

Modules are the base code interfacing with different Services and simplifying their usage.

TwitchIRC

This Module handles all interactions with the Twitch Chat and Emotes.

TwitchAPI

Interface with the Twitch API - This ONLY uses HELIX!!! So many things arent avaiable yet until Twitch themself are done.

WebApp

The WebApp is hosting the Website and Authentication Service of the bot. Enabling TCP, Websocket connections as well as hosting/uploading files and APIs.

Packages

Packages use the Core Modules (e.g. TwitchIRC and TwitchAPI) to create Features for the Bot. Everyting is based around these and one of the best and most complicated Features of the Bot.

These are some Packages currently available:

Alerts

An advanced Alerts-System with shareable Overlay settings, Alerts for Chat Events (e.g. HypeTrains, Predictions, ...) and a deep Alert-Trigger-System powered by custom Profiles which can be easily switched to.

Chat Moderation (WiP)

Moderating is hard! Every chat has its own culture, its own memes and jokes - so a automated moderationt tool needs to be deeply tuneable. This is my shot at it - but as said, as chat culture changes so must the bot.

CommandHandler

Commands are probably THE most used Chatbot feature, period. Making it familiar but also improving it is the goal. With more controll over Userlevels and Command Variables this CommandHandler is probably the most powerfull and expandable using other Packages.

Docs (WiP)

This Package is mainly hosted by the "official" FrikyBot providing Documentations and Guides when programming your own Packages and Modules. Or Troubleshooting stuff I messed up ;D

NewsFeed

Aswell as Docs this might only be hosted by the "official" Frikybot embedding News and Changelogs on Social Media and Bot-Instances.

Stats (WiP)

Collecting Data from your Streams and visualizing them in a neat format. Not only cool to inspire competition for users to be at the top, but also to analyse your Stream Statistics.

Planned Packages

  • CustomChat: A custom Chat Client with multi-Channel support and MANY MAYOR Moderator Quality-of-Life Imporovements.
  • Chat Miscs: A collection of the best Chat Games, Coin Systems and managing of Polls, Predictions, ChannelPoints, ... .
  • Broadcaster Misc: A collection of Tools used by Streamers. E.g. Timers Overlays, Sponsor Overlay Generators and Chat Response, Life-response in Chat activity, ...
  • Twitter / Discord Integrations: Mainly used for Stream Alerts and Commands
  • many more

Updates

Follow the official Twitter Account or take a look at the FrikyBot News to see upcomming Features and Updates.

Authors

About

TwitchChatBot "FrikyBot" by FrikyMediaLP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •