Untitled

 avatar
unknown
python
5 months ago
2.1 kB
5
Indexable
import os
import telebot
from dotenv import load_dotenv

load_dotenv('config.env')

BOT_TOKEN = os.getenv('BOT_TOKEN')

bot = telebot.TeleBot(BOT_TOKEN)

@bot.message_handler(content_types=['text'], chat_types=['group', 'supergroup', 'private'])
def handle_message(message):
    """Handle all text messages"""
    
    # Информация о чате
    chat_type = message.chat.type  # 'private' для личных сообщений, 'group' или 'supergroup' для групп
    
    # Информация об отправителе
    user_id = message.from_user.id  # ID пользователя
    username = message.from_user.username  # Username пользователя (без @)
    first_name = message.from_user.first_name  # Имя пользователя
    
    # Проверяем, личное ли это сообщение боту
    is_private = chat_type == 'private'
    
    # Проверяем, является ли отправитель конкретным пользователем
    is_specific_user = username == 'гыук'  # сравниваем без @
    
    # Проверяем, является ли сообщение ответом другому пользователю
    is_reply = message.reply_to_message is not None
    if is_reply:
        reply_to_username = message.reply_to_message.from_user.username
    
    # Проверяем, упоминается ли бот в сообщении (если бот @mybot)
    mentions_bot = '@mybot' in message.text
    
    # Пример использования:
    if 'пыщ' in message.text.lower():
        if is_private:
            bot.reply_to(message, 'пыщь-пыщь ололо (личное сообщение)')
        elif is_specific_user:
            bot.reply_to(message, f'пыщь-пыщь ололо (от пользователя {username})')
        else:
            bot.reply_to(message, 'пыщь-пыщь ололо (групповое сообщение)')

if __name__ == '__main__':
    print('Bot is running...')
    bot.infinity_polling(allowed_updates=['message'])
Editor is loading...
Leave a Comment