# This file is part of python-cinema-club-bot # contributed in 2024 by Mikhail Kirillov (~w96k) # To the extent possible under law, the author(s) have dedicated all copyright # and related and neighboring rights to this software to the public domain # worldwide. This software is distributed without any warranty. # You should have received a copy of the CC0 Public Domain Dedication along # with this software. If not, see: # . from telegram import Update, error from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes, \ MessageHandler, filters from dotenv import load_dotenv from rich import inspect import os import logging load_dotenv() logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) async def about(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None: await update.message.reply_text(''' Version 0.0 python-cinema-club-bot is a bot for Telegram specialized for managing cinema club activities. This software is released as Public Domain using CC0 license. Project information: http://57.129.46.169/trac/wiki/python-cinema-club-bot Source code: http://57.129.46.169/cgit/python-cinema-club-bot/ Contributed in 2024 by Mikhail Kirillov (~w96k) To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty. You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see: ''') async def add_choose_cycle( update: Update, context: ContextTypes.DEFAULT_TYPE ) -> None: command = update.message.text user = command.replace("/add", "") inspect(user) try: if user == "": raise error.TelegramError("User is not provided. Use /add @username") except error.TelegramError as err: await update.message.reply_text(err.message) return await update.message.reply_text(update.message.text) async def unknown(update: Update, context: ContextTypes.DEFAULT_TYPE): await context.bot.send_message(chat_id=update.effective_chat.id, text="Invalid command. Available commands: /add") app = ApplicationBuilder().token( os.environ.get('TELEGRAM_TOKEN') ).build() app.add_handler(CommandHandler("about", about)) app.add_handler(CommandHandler("add", add_choose_cycle)) app.add_handler(MessageHandler(filters.COMMAND, unknown)) app.run_polling()