A python package for creating Twitch Bots
Project description
#Jarvis
This is the repository for Jarvis, the twitch bot.
##Getting Started
The simplest way to get started is to create a new file, with the basic code below:
from jarviscore.client import Client
jarvis = Client(nick="yourbotsname",
token="yourbotstoken",
channels=["a list", "of channels", "to connect to"])
jarvis.start()
As an alternative, better practice would be to make use of a config file to store your settings and loading them into the bot when you start.
Use the following code for your bot as a starter.
from jarviscore.client import Client
from jarviscore import Settings
setting = Settings()
jarvis = Client(nick=setting.get_setting("nick"),
token=setting.get_setting("token"),
channels=setting.get_setting("channels"))
jarvis.start()
Next, create a file called config.json
and use the following template to get started
{
"name": "yourbotsname",
"token": "yourbotstoken",
"channels": [
"a list", "of channels", "to connect to"
]
}
If you prefer, you may use a config.yaml
file instead.
##Custom Modules
You can create your own custom modules and interactions for your bot using the Jarvis Core.
Create a folder called modules
in the same location as your bot file like so,
+-- root
| |-- bot.py
| |-- config.json
| +-- modules
| |-- module1.py
| +-- module2.py
Then, copy the following boiler plate text to get started. This example implements a simple ping module.
Note: All modules need to implement setup()
and teardown()
, both take channel as a parameter.
from jarviscore import Module, Log
from jarviscore import PrivateMessage, CommandMessage
log = Log("Module:Ping", verbose="log")
class Ping(Module):
def __init__(self, channel):
Module.__init__(self, "Ping")
self.channel = channel
def on_command(self, data: CommandMessage):
if "ping" == data.KEYWORD:
self.channel.send("pong")
def setup(channel):
channel.load_module(Ping(channel))
log.log(f"[{channel.name}]: Loaded Module Ping")
def teardown(channel):
log.log(f"[{channel.name}]: Removed Module Ping")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for jarviscore-0.1.1.26-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b560bea85a309ab8a7bcec0b69b743dca9363e409093a29274046c0f266b87c4 |
|
MD5 | bbad6db2541b19222ef0a95502aab79b |
|
BLAKE2b-256 | 0a41b364e7f649f28c85e019dbf0f58ae4b887d170779b101f9d8b13c6f92f1b |