Changeset 5179f7b in python-cinema-club-bot


Ignore:
Timestamp:
Oct 8, 2024, 1:48:33 AM (5 weeks ago)
Author:
Mikhail Kirillov <w96k@…>
Branches:
master
Children:
71efb80
Parents:
50e04dd
git-author:
Mikhail Kirillov <w96k@…> (10/08/24 01:37:34)
git-committer:
Mikhail Kirillov <w96k@…> (10/08/24 01:48:33)
Message:

Add about command

File:
1 edited

Legend:

Unmodified
Added
Removed
  • app.py

    r50e04dd r5179f7b  
    1010# <http://creativecommons.org/publicdomain/zero/1.0/>.
    1111
    12 from telegram import Update
    13 from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes
     12from telegram import Update, error
     13from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes, \
     14    MessageHandler, filters
    1415from dotenv import load_dotenv
     16from rich import inspect
    1517import os
    1618import logging
     
    2325)
    2426
     27async def about(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
     28    await update.message.reply_text('''
     29Version 0.0
     30   
     31python-cinema-club-bot is a bot for Telegram specialized for managing cinema club activities. This software is released as Public Domain using CC0 license.
    2532
    26 async def hello(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    27     await update.message.reply_text(f'Hello {update.effective_user.first_name}')
     33Project information: http://57.129.46.169/trac/wiki/python-cinema-club-bot
     34Source code: http://57.129.46.169/cgit/python-cinema-club-bot/
     35
     36Contributed in 2024 by Mikhail Kirillov (~w96k) <w96k@runbox.com>
     37
     38To 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.
     39
     40You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see:
     41<http://creativecommons.org/publicdomain/zero/1.0/>
     42
     43    ''')
     44
     45async def add_choose_cycle(
     46        update: Update,
     47        context: ContextTypes.DEFAULT_TYPE
     48) -> None:
     49    command = update.message.text
     50
     51    user = command.replace("/add", "")
     52
     53    inspect(user)
     54
     55    try:
     56        if user == "":
     57            raise error.TelegramError("User is not provided. Use /add @username")
     58    except error.TelegramError as err:
     59        await update.message.reply_text(err.message)
     60        return
     61
     62    await update.message.reply_text(update.message.text)
     63
     64
     65async def unknown(update: Update, context: ContextTypes.DEFAULT_TYPE):
     66    await context.bot.send_message(chat_id=update.effective_chat.id, text="Invalid command. Available commands: /add")
    2867
    2968app = ApplicationBuilder().token(
     
    3170).build()
    3271
    33 app.add_handler(CommandHandler("hello", hello))
     72app.add_handler(CommandHandler("about", about))
     73app.add_handler(CommandHandler("add", add_choose_cycle))
     74
     75app.add_handler(MessageHandler(filters.COMMAND, unknown))
    3476
    3577app.run_polling()
Note: See TracChangeset for help on using the changeset viewer.