Skip to content

AndColla/asynctwitch

 
 

Repository files navigation

AsyncTwitch

This library is used to asynchronously interact with twitch chat.


Requirements:

  • Create a twitch.tv account
  • Get an Oauth token

How to use:

import asynctwitch

# Use the pre-made CommandBot, to handle messages yourself, use asynctwitch.Bot and handle event_message.
bot = asynctwitch.CommandBot(
    user = "Your_bot_twitch_username",
    oauth = "Your_twitch_oauth_token",  # oauth:1234567890abcdefghijklmnopqrst
    channel = "channel_name",           # Defaults to Twitch
    prefix = "your_prefix_here",            # Defaults to '!'
)



# Example command:
@bot.command('example', alias=['moreexample','anothaone'], desc='example command')
async def example(message, word1:str, number1:int, rest:str):
    bot.say(message.channel.name, 'wow')

    
    
# Example subcommand:
@bot.command('say')
async def say(m, subcommand:str):
    pass
    
@say.subcommand('this')
async def this(m):
    bot.say(m.channel.name, "that")

bot.start() 

To use a config file instead, use

asynctwitch.Bot(config="your_settings.ini")
# or
asynctwitch.CommandBot(config="your_settings.ini")

see config.ini for an example file

It's also possible to handle messages your own way, just use

@bot.override
async def event_message(message):
    # your handling here

The same applies to all bot.event_X functions.

To use await bot.play_file('file.mp3'), ffprobe, ffmpeg and ffplay have to be installed. They can be found on the ffmpeg website.

To use await bot.play_ytdl('song'), youtube_dl has to be installed. Use pip install youtube_dl to install it. You will also need the requirements for bot.play_file

These examples use the async/await syntax added in python 3.5, to use this code in 3.4 use @asyncio.coroutine and yield from instead. THIS DOES NOT WORK WITH PYTHON VERSIONS BELOW 3.4!

About

asynchronous twitch chat lib

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%