Factory / app.py
RXTIME's picture
Create app.py
a527a94 verified
raw
history blame
1.69 kB
import os
import telegram
from telegram.ext import Application, CommandHandler
from flask import Flask
from threading import Thread
import schedule
import time
# Inicializa o Flask
app = Flask(__name__)
# Rota básica para manter o Space ativo
@app.route('/')
def home():
return "Hypercycle Bot is running!"
# Função para rodar o Flask em uma thread separada
def run_flask():
app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 5000)))
# Função de exemplo para o comando /start
async def start(update, context):
await update.message.reply_text('Hello! I am Hypercycle Bot.')
# Função para tarefas agendadas
def scheduled_task():
print("Running scheduled task...") # Substitua por sua lógica
# Função principal do bot
def main():
# Obtém o token do Telegram das variáveis de ambiente
TELEGRAM_TOKEN = os.environ.get('TELEGRAM_TOKEN')
if not TELEGRAM_TOKEN:
raise ValueError("TELEGRAM_TOKEN not set in environment variables")
# Configura o bot
application = Application.builder().token(TELEGRAM_TOKEN).build()
# Adiciona handlers de comandos
application.add_handler(CommandHandler("start", start))
# Inicia o bot
print("Bot is starting...")
application.run_polling()
# Função para rodar o agendador em uma thread separada
def run_scheduler():
schedule.every(10).seconds.do(scheduled_task) # Exemplo: tarefa a cada 10s
while True:
schedule.run_pending()
time.sleep(1)
if __name__ == '__main__':
# Inicia o Flask em uma thread
Thread(target=run_flask).start()
# Inicia o agendador em uma thread
Thread(target=run_scheduler).start()
# Inicia o bot
main()