def send_from_qq_to_tg(forward_index: int,
message: list,
qq_group_id: int = 0,
qq_discuss_id: int = 0,
qq_user: int=None) -> list:
"""
send message from qq to telegram
:param forward_index: forward group index
:param message: message in cq-http-api like format
:param qq_group_id: which group this message came from, can be None if qq_discuss_id is not None
:param qq_discuss_id: which discuss this message came from, can be None if qq_group_id is not None
:param qq_user: which user sent this message
:return: telegram.Message list
"""
logger.debug('qq -> tg: ' + str(message))
message_list = divide_qq_message(forward_index, message)
message_count = len(message_list)
telegram_message_id_list = list()
for idx, message_part in enumerate(message_list):
if message_count == 1:
message_index_attribute = ''
else:
message_index_attribute = '(' + str(idx + 1) + '/' + str(message_count) + ')'
if message_part.get('image'):
filename = message_part['image']
cq_get_pic_url(filename)
cq_download_pic(filename)
pic = open(os.path.join(CQ_IMAGE_ROOT, filename), 'rb')
if message_part.get('text'):
full_msg = get_qq_name(qq_user, forward_index) + ': ' \
+ message_index_attribute + message_part['text']
else:
full_msg = get_qq_name(qq_user, forward_index) + ': ' + message_index_attribute
if filename.lower().endswith('gif'): # gif pictures send as document
_msg: telegram.Message = global_vars.tg_bot.sendDocument(FORWARD_LIST[forward_index]['TG'],
pic,
caption=full_msg)
else: # jpg/png pictures send as photo
_msg: telegram.Message = global_vars.tg_bot.sendPhoto(FORWARD_LIST[forward_index]['TG'],
pic,
caption=full_msg)
else:
# only first message could be pure text
if qq_user:
full_msg_bold = '<b>' + get_qq_name(qq_user, forward_index) + '</b>: ' + \
message_index_attribute +\
message_list[0]['text']
else:
full_msg_bold = message_index_attribute + message_list[0]['text']
_msg: telegram.Message = global_vars.tg_bot.sendMessage(FORWARD_LIST[forward_index]['TG'],
full_msg_bold,
parse_mode='HTML')
telegram_message_id_list.append(_msg.message_id)
return telegram_message_id_list
评论列表
文章目录