Вот код с функцией пересылки и ответа, пересылка работает отлично, но ответ не работает должным образом. Этот код работает следующим образом: он получит исходную ссылку и целевую_группу из файла и проанализирует 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
ПРОБЛЕМА Ответное сообщение от канала группе или пользователю с помощью Python ⇐ Python
Программы на Python
1731071449
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")
Подробнее здесь: [url]https://stackoverflow.com/questions/79170161/problem-reply-message-from-channel-to-group-or-user-with-python[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия