[F] Fix soundbot

This commit is contained in:
Hykilpikonna
2022-03-02 23:13:57 -05:00
parent 622f003ec0
commit 7d2429c98e
+15 -4
View File
@@ -1,5 +1,8 @@
import asyncio
import os import os
import pygame
import uvicorn
from fastapi import FastAPI from fastapi import FastAPI
from pygame.mixer import Sound from pygame.mixer import Sound
from telegram.ext import Updater, Dispatcher, CommandHandler from telegram.ext import Updater, Dispatcher, CommandHandler
@@ -17,6 +20,7 @@ sounds: list[Sound] = []
async def alarm(): async def alarm():
s = Sound(AUDIO) s = Sound(AUDIO)
s.play() s.play()
sounds.append(s)
return {'message': 'sound played'} return {'message': 'sound played'}
@@ -25,15 +29,22 @@ async def stop():
for s in sounds: for s in sounds:
s.stop() s.stop()
sounds.clear() sounds.clear()
return {'message': 'sound stopped'}
if __name__ == '__main__': async def start_telegram():
updater = Updater(token=TG_TOKEN) updater = Updater(token=TG_TOKEN)
dispatcher: Dispatcher = updater.dispatcher dispatcher: Dispatcher = updater.dispatcher
bot = updater.bot bot = updater.bot
dispatcher.add_handler(CommandHandler('stop', stop)) dispatcher.add_handler(CommandHandler('stop', lambda a, b: asyncio.run(stop())))
dispatcher.add_handler(CommandHandler('alarm', alarm)) dispatcher.add_handler(CommandHandler('alarm', lambda a, b: asyncio.run(alarm())))
print('Starting...') print('Starting Telegram...')
updater.start_polling() updater.start_polling()
if __name__ == '__main__':
pygame.mixer.init()
asyncio.run(start_telegram())
uvicorn.run(app, host="0.0.0.0", port=8000)