ПРОБЛЕМА Ответное сообщение от канала группе или пользователю с помощью PythonPython

Программы на Python
Ответить
Anonymous
 ПРОБЛЕМА Ответное сообщение от канала группе или пользователю с помощью Python

Сообщение Anonymous »

Вот код с функцией пересылки и ответа, пересылка работает отлично, но ответ не работает должным образом. Этот код работает следующим образом: он получит исходную ссылку и целевую_группу из файла и проанализирует URL-адрес, содержащийся в файле URL-адреса. форма t.me/channelname/msg_id
Далее он присоединится к каналу и получит сообщение по запросу, и будет 2 варианта: переслать и ответить на это сообщение. При пересылке все работало нормально, но при ответе на сообщение функция ответа не работала. сообщение из этого канала в любую группу, я использую метод ответить_to=msg_id плюс ответ_контент, но когда он активен, отправляется только ответный_контент и вложения к сообщениям не принимаются, вы можете увидеть мой пример изображения. поместите ниже
Я перепробовал все, но не смог добиться такого ответа:
async def forward_messages_to_group(self, client, forward_data):
try:
source_link, target_group = forward_data.strip().split('|')
self.log_signal.emit(f"Processing {self.mode}: {source_link} -> {target_group}", "INFO")

# Phân tích source_link để lấy channel_name và message_id
match = re.match(r'https://t.me/([^/]+)/(\d+)', source_link)
if not match:
self.log_signal.emit(f"Invalid source link format: {source_link}", "ERROR")
return

channel_name = match.group(1)
message_id = int(match.group(2))

# Tham gia vào kênh
await client(JoinChannelRequest(channel_name))
self.log_signal.emit(f"Joined channel: {channel_name}", "SUCCESS")

# Lấy bài viết theo ID
message = await client.get_messages(channel_name, ids=message_id)
if not message:
self.log_signal.emit(f"Could not find source message: {source_link}", "ERROR")
return

# Phản hồi bài viết
if not target_group.startswith('-'):
target_group = '-' + target_group

target_group_id = int(target_group)
target_entity = await client.get_entity(target_group_id)

if self.mode == "forward":
await client.forward_messages(target_entity, message)
self.log_signal.emit(f"Successfully forwarded message from {source_link} to {target_group}", "SUCCESS")
else: # reply mode
# Gửi tin nhắn mới với reply_text và đính kèm nội dung bài viết gốc
reply_content = f"{self.reply_text}\n\nOriginal Message:\n{message.message}"
await client.send_message(
target_entity,
reply_content,
reply_to=message_id
)
self.log_signal.emit(f"Successfully replied to message from {source_link} in {target_group}", "SUCCESS")
except Exception as e:
self.log_signal.emit(f"Error processing data: {str(e)}", "ERROR")


Подробнее здесь: https://stackoverflow.com/questions/791 ... ith-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»