seamless api for developing bots that run on multiple platforms. discord and telegram are only supported for now
works with asyncio
install the base library:
pip install wiring
then choose extra dependencies for platforms that you want your bot to run on
pip install wiring[discord] wiring[telegram]
import asyncio
from wiring import (Bot, MultiPlatformMessage, MultiPlatformBot, MultiPlatformUser,
Command)
from wiring.platforms.discord import DiscordBot
from wiring.platforms.telegram import TelegramBot
DISCORD_TOKEN = 'place your token here or better load it from enviroment variables'
TELEGRAM_TOKEN = 'place your token here or better load it from enviroment variables'
async def send_commands_list(bot: Bot, message: MultiPlatformMessage,
args: list[str]):
commands_list = '\n'.join(['/' + str(command.name) for command
in bot.commands])
await bot.send_message(
message.chat.id,
'available commands:\n' + commands_list,
reply_message_id=message.id
)
async def start_bots():
bot = MultiPlatformBot()
bot.platform_bots = [
DiscordBot(DISCORD_TOKEN),
TelegramBot(TELEGRAM_TOKEN)
]
async with bot:
await bot.setup_commands([
Command('help', send_commands_list)
])
# blocks the execution
await bot.listen_to_events()
asyncio.run(start_bots())