代码片段如下,使用了forward_messages转发消息

效果:
每一条转发过来的消息都会有一个转发自,查阅官方文档依然得不到解决

按照官方文档说明,使用此参数就行,但是使用后,forward_messages方法根本就没有这个参数

import time
import socket
import socks
from telethon import TelegramClient
socks.set_default_proxy(socks.SOCKS5, "127.0.0.1", 1086)
socket.socket = socks.socksocket
api_id = 'xxxxxxxxxxxx'
api_hash = 'x xxxxxxxxxxxx xxxxxxxxxxxx x'
# 创建 Telegram 客户端
client = TelegramClient('my_session', api_id, api_hash)
async def main():
# 启动客户端
await client.start()
#历史消息的频道的 Username 或 Chat ID
source_chat = 'xxxxxxxxxxxx'
target_chat = 'xxxxxxxxxxxx'
start_message_id = 63887
message_ids = []
messages_to_forward = []
async for message in client.iter_messages(source_chat, min_id=start_message_id - 1, reverse=True):
print(f'Message ID: {message.id}, Text: {message.text},时间为{message.date}')
# 添加消息到待转发列表
messages_to_forward.append(message)
# 检查是否需要转发当前组的消息
if len(messages_to_forward) >= 10 or (message_ids and message.date.timestamp() - message_date >= 2):
# 如果当前组的第一个消息没有合并到当前组,手动添加第一个消息并转发
if message_ids and message_ids[0] not in [msg.id for msg in messages_to_forward]:
first_message_id = message_ids[0]
first_message = await client.get_messages(source_chat, ids=first_message_id)
messages_to_forward.insert(0, first_message)
messages_to_forward.pop()
# 使用 forward_messages 方法将一组消息从源频道转发到目标聊天
print(messages_to_forward)
await client.forward_messages(target_chat, messages=messages_to_forward,disable_notification=True)
# 清空消息列表
message_ids = []
messages_to_forward = []
time.sleep(1)
# 更新时间戳和消息 ID 列表
message_date = message.date.timestamp()
message_ids.append(message.id)
if __name__ == '__main__':
import asyncio
asyncio.run(main())