Files
2026-06-26 20:58:19 -04:00

42 lines
1.2 KiB
Python

from telegram import Update
from telegram.ext import (
Application,
CommandHandler,
MessageHandler,
filters,
ContextTypes,
)
import os
from dotenv import load_dotenv
from utils import get_hashed_id, user_is_limited
from commands import start, healthcheck
load_dotenv()
TOKEN = os.getenv("BOT_TOKEN")
CHANNEL_ID = int(os.getenv("CHANNEL_ID"))
async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
user_id = str(update.effective_user.id)
hashed_id = get_hashed_id(user_id)
if user_is_limited(hashed_id):
await update.message.reply_text("You are timed out. Please try again later.")
return
message = update.message.text.strip()
await context.bot.send_message(chat_id=CHANNEL_ID, text=message)
await update.message.reply_text("Your message has been posted!")
def main():
app = Application.builder().token(TOKEN).build()
app.add_handler(CommandHandler("start", start))
app.add_handler(CommandHandler("health", healthcheck))
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))
print("Bot is running!")
app.run_polling()
if __name__ == "__main__":
main()