ehForwarderBot / efb-telegram-master

EFB Telegram Master Channel, a channel for EH Forwarder Bot.
GNU Affero General Public License v3.0
223 stars 78 forks source link

[BUG] Can't send stickers in ETM 2.3.1 #134

Open xdujiang opened 1 year ago

xdujiang commented 1 year ago

Describe the bug
While updated ETM to version 2.3.1, error occurs while sending stickers.

Got 2 error messages:

  1. Message is not sent. AttributeError("'Sticker' object has no attribute 'is_video'",)

    Mar 26 19:03:01 ubuntu-main ehforwarderbot[43423]: Traceback (most recent call last):
    Mar 26 19:03:01 ubuntu-main ehforwarderbot[43423]:   File "/somepath/EFB/venv/lib/python3.6/site-packages/efb_telegram_master/master_message.py", line 250, in process_telegram_message
    Mar 26 19:03:01 ubuntu-main ehforwarderbot[43423]:     m.type_telegram = mtype = get_msg_type(message)
    Mar 26 19:03:01 ubuntu-main ehforwarderbot[43423]:   File "/somepath/EFB/venv/lib/python3.6/site-packages/efb_telegram_master/msg_type.py", line 62, in get_msg_type
    Mar 26 19:03:01 ubuntu-main ehforwarderbot[43423]:     elif tg_type == TGMsgType.Sticker and msg.sticker is not None and msg.sticker.is_video:
    Mar 26 19:03:01 ubuntu-main ehforwarderbot[43423]: AttributeError: 'Sticker' object has no attribute 'is_video'
  2. ValueError('Either chat or the other set must be provided.',)

    
    Mar 26 19:10:50 ubuntu-main ehforwarderbot[43423]: Traceback (most recent call last):
    Mar 26 19:10:50 ubuntu-main ehforwarderbot[43423]:   File "/somepath/EFB/venv/lib/python3.6/site-packages/efb_telegram_master/master_message.py", line 103, in message_worker
    Mar 26 19:10:50 ubuntu-main ehforwarderbot[43423]:     self.msg(update, context)
    Mar 26 19:10:50 ubuntu-main ehforwarderbot[43423]:   File "/somepath/EFB/venv/lib/python3.6/site-packages/efb_telegram_master/master_message.py", line 207, in msg
    Mar 26 19:10:50 ubuntu-main ehforwarderbot[43423]:     return self.process_telegram_message(update, context, destination, quote=quote, edited=edited)
    Mar 26 19:10:50 ubuntu-main ehforwarderbot[43423]:   File "/somepath/EFB/venv/lib/python3.6/site-packages/efb_telegram_master/master_message.py", line 423, in process_telegram_message
    Mar 26 19:10:50 ubuntu-main ehforwarderbot[43423]:     self.db.add_or_update_message_log(m, update.effective_message)
    Mar 26 19:10:50 ubuntu-main ehforwarderbot[43423]:   File "/somepath/EFB/venv/lib/python3.6/site-packages/peewee.py", line412, in inner
    Mar 26 19:10:50 ubuntu-main ehforwarderbot[43423]:     return fn(*args, **kwargs)
    Mar 26 19:10:50 ubuntu-main ehforwarderbot[43423]:   File "/somepath/EFB/venv/lib/python3.6/site-packages/efb_telegram_master/db.py", line 435, in add_or_update_message_log
    Mar 26 19:10:50 ubuntu-main ehforwarderbot[43423]:     row.slave_origin_uid = chat_id_to_str(chat=msg.chat)
    Mar 26 19:10:50 ubuntu-main ehforwarderbot[43423]:   File "/somepath/EFB/venv/lib/python3.6/site-packages/efb_telegram_master/utils.py", line 126, in chat_id_to_str
    Mar 26 19:10:50 ubuntu-main ehforwarderbot[43423]:     raise ValueError("Either chat or the other set must be provided.")
    Mar 26 19:10:50 ubuntu-main ehforwarderbot[43423]: ValueError: Either chat or the other set must be provided.

**To Reproduce**  
Send stickers in chat. For example:
https://t.me/addstickers/Akemi_Homura
https://t.me/addstickers/LazyShiba

**Expected behavior**  
Stickers can be sent normally.

**Screenshots**  
If applicable, add screenshots to help explain your problem.

**Version information (please complete the following information):**  
- OS: Ubuntu 18.04.6
- Detailed Python, EFB and module versions: (you can obtain this by running `ehforwarderbot --version`)

EH Forwarder Bot Version: 2.1.1 Python version: 3.6.9 (default, Dec 8 2021, 21:08:43) [GCC 8.4.0] Running on profile "default".

Master channel: Telegram Master (blueset.telegram) 2.2.4 # Default instance

Slave channel: WeChat Slave (blueset.wechat) 2.0.4 # Default instance

Middlewares: No middleware is enabled.



**Additional context**  
Add any other context about the problem here.