• [Telethon] Как получить название группы/чата из сообщения?

    @doevent
    from telethon import TelegramClient, events, utils
    import os
    
    session = os.environ.get('TG_SESSION', 'printer')
    api_id = '888888888'
    api_hash = '8888888888888888888888'
    
    client = TelegramClient(session, api_id, api_hash, retry_delay=30, auto_reconnect=True).start()
    
    @client.on(events.NewMessage()) 
    async def handler_all(event):
        chat_id = event.chat_id #ID чата
        
        sender_id = event.sender_id # Получаем ID Юзера
        msg_id = event.id # Получаем ID сообщения
        
        
        sender = await event.get_sender() # получаем имя юзера
        name = utils.get_display_name(sender) # Имя Юзера
    
        chat_from = event.chat if event.chat else (await event.get_chat()) # получаем имя группы
        chat_title = utils.get_display_name(chat_from)  # получаем имя группы
        
        print(f"ID: {chat_id} {chat_title} >>  (ID: {sender_id})  {name} - (ID: {msg_id}) {event.text}") 
    
    with client:
        client.run_until_disconnected()
    Ответ написан
    Комментировать
  • Почему не работает телеграмм бот?

    У вашего объекта TeleBot, нет такого атрибута как message_handler к которому вы ссылаетесь. Это у вас сказано в трейсбеке.

    AttributeError: 'TeleBot' object has no attribute 'message_handler'


    Попробуйте так, раньше уже было в темах

    import telebot
    import config
    
    bot = telebot.TeleBot(config.TOKEN)
    
    @bot.message_handler(content_types = ['text'])
    def func(message):
      bot.send_message(message.chat.id,message.text)
    
    if __name__ == '__main__':
        bot.polling(none_stop=True)


    Также попробуйте єто

    pip3 uninstall telebot
    pip3 install pytelegrambotapi --upgrade


    Ну и на крайняк читайте тут, там та же проблема есть парочка решений
    https://github.com/MasterGroosha/telegram-tutorial...
    Ответ написан
  • Почему Ubuntu произвольно завершает работу скрипта на python?

    @UberPool
    Python/JS coder
    Вероятнее всего вы просто выходите из ssh сессии и бот выключается,нужно что бы бот работал в фоне.Используйте например screen.
    Открываете новый screen,запускаете бота,нажимаете ctrl a d(выходя тем самым из screen).
    Готово бот работает в фоне.

    Установка:
    apt install screen

    Подробнее о screen
    Ответ написан
    2 комментария