Update to work with newer versions of PTB
PTB - python-telegram-bot library
This commit is contained in:
parent
a831b893a2
commit
ec6cf59b42
|
@ -1,4 +1,17 @@
|
||||||
def sendTeleg(photo, message, config):
|
def sendTeleg(photo, message, config):
|
||||||
|
try:
|
||||||
|
from telegram import __version_info__
|
||||||
|
except ImportError:
|
||||||
|
__version_info__ = (0, 0, 0, 0, 0)
|
||||||
|
if __version_info__ < (20, 0, 0, "alpha", 5):
|
||||||
|
sent = sendTelegOld(photo, message, config)
|
||||||
|
return sent
|
||||||
|
else:
|
||||||
|
import asyncio
|
||||||
|
sent = asyncio.run(t_send_photo(photo,message,config))
|
||||||
|
return sent
|
||||||
|
|
||||||
|
def sendTelegOld(photo, message, config):
|
||||||
import telegram
|
import telegram
|
||||||
sent = False
|
sent = False
|
||||||
retry_c = 0
|
retry_c = 0
|
||||||
|
@ -25,10 +38,49 @@ def sendTeleg(photo, message, config):
|
||||||
print('Invalid Telegram Chat ID, message not sent.')
|
print('Invalid Telegram Chat ID, message not sent.')
|
||||||
break
|
break
|
||||||
elif str(err)[:35] == '[Errno 2] No such file or directory':
|
elif str(err)[:35] == '[Errno 2] No such file or directory':
|
||||||
print('Telegram module couldn\'t find an image to send.')
|
print('Telegram module couldn\'t find an image to sent.')
|
||||||
break
|
break
|
||||||
elif str(err) == 'Media_caption_too_long':
|
elif str(err) == 'Media_caption_too_long':
|
||||||
print('Telegram image caption length exceeds 1024 characters. Message not send.')
|
print('Telegram image caption length exceeds 1024 characters. Message not sent.')
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
print('[X] Unknown Telegram error. Message not sent.')
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
print("Telegram message successfully sent.")
|
||||||
|
return sent
|
||||||
|
|
||||||
|
async def t_send_photo(photo,message,config):
|
||||||
|
import telegram
|
||||||
|
sent = False
|
||||||
|
retry_c = 0
|
||||||
|
while sent == False:
|
||||||
|
try:
|
||||||
|
bot = telegram.Bot(token=config.get('TELEGRAM', 'BOT_TOKEN'))
|
||||||
|
sent = await bot.send_photo(chat_id=config.get('TELEGRAM', 'ROOM_ID'), photo=photo, caption=message)
|
||||||
|
except Exception as err:
|
||||||
|
print('err.args:')
|
||||||
|
print(err.args)
|
||||||
|
print(f"Unexpected {err=}, {type(err)=}")
|
||||||
|
print("\nString err:\n"+str(err))
|
||||||
|
if retry_c > 4:
|
||||||
|
print('Telegram attempts exceeded. Message not sent.')
|
||||||
|
break
|
||||||
|
elif str(err) == 'Unauthorized':
|
||||||
|
print('Invalid Telegram bot token, message not sent.')
|
||||||
|
break
|
||||||
|
elif str(err) == 'Timed out':
|
||||||
|
retry_c += 1
|
||||||
|
print('Telegram timeout count: '+str(retry_c))
|
||||||
|
pass
|
||||||
|
elif str(err) == 'Chat not found':
|
||||||
|
print('Invalid Telegram Chat ID, message not sent.')
|
||||||
|
break
|
||||||
|
elif str(err)[:35] == '[Errno 2] No such file or directory':
|
||||||
|
print('Telegram module couldn\'t find an image to send.')
|
||||||
|
break
|
||||||
|
elif str(err) == 'Media_caption_too_long':
|
||||||
|
print('Telegram image caption length exceeds 1024 characters. Message not sent.')
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
print('[X] Unknown Telegram error. Message not sent.')
|
print('[X] Unknown Telegram error. Message not sent.')
|
||||||
|
|
Loading…
Reference in New Issue