Перейти к публикации
Форум ботоводов

Геннадий

Members
  • Публикации

    3
  • Зарегистрирован

  • Посещение

Посетители профиля

Блок посетителей профиля отключен и не будет отображаться другим пользователям

Геннадий's Achievements

Newbie

Newbie (1/14)

0

Репутация

  1. встретился с вопросом не только отправки фото, но и комментария к фото. надо как-то взять сообщение, а как... это скорей всего вот эта строчка, только тут вместо messageText должно быть фото. Вернее не вместо, а можно наверно добавить ещё одно условие if message_type == ... осталось только узнать название, какое название типа фото. Узнал, он называется 'messagePhoto' if message_type == 'messageText': message_text = event['message']['content']['text']['text'].translate(non_bmp_map)
  2. нашёл незначительную ошибку: if event['@type'] == 'updateNewMessage': i=0 while i < sumChat: if event['message']['chat_id'] == choosen_chat_idA[i]: вставьте вот эту строчку выделенную жирным: while i < sumChat: #print("range(choosen_chat_idA)["+i+"]: ", choosen_chat_idA[i]) if len(choosen_chat_idA) !=0: if event['message']['chat_id'] == choosen_chat_idA[i]:
  3. Привет! Прежде всего хочу поблагодарить Автора, Админа, который дал решение! Был так благодарен, что решил разобраться и помочь ему с кодом. День затратил, чтобы доработать этот код, не зная языка вообще, вот что получилось: Для того, чтобы можно было с нескольких чатов пересылать сообщения, нужно некоторые переменные добавить, некоторые убрать. SumChat - это колличество чатов, которые вы хотите пересылать, не знал как сделать, чтобы этот вопрос можно было вбивать там, поэтому вручную в коде меняйте это значение. вместо choosen_chat_id заменил на два массива. chat_ids = [] chats = [] x=0 choosen_chat_idA = [] target_chat_idB = [] sumChat = 6 i=0 Выделяем этот код в старом варианте и заменяем на новый: if event['@type'] == 'updateNewMessage' and event['message']['chat_id'] == choosen_chat_id: message_type = event['message']['content']['@type'] print("*"*80) print("Получено:", message_type) print("-"*80) if message_type == 'messageText': message_text = event['message']['content']['text']['text'].translate(non_bmp_map) print(message_text) td_send({'@type':'sendMessage', 'chat_id':target_chat_id, 'input_message_content': { '@type': 'inputMessageText', 'text': { '@type': 'formattedText', 'text': message_text }}} ) print("-"*80) print(event) print("*"*80) if event['@type'] == 'chat': title = event['title'].translate(non_bmp_map) print('Получен чат', len(chats), title, event['id']) chats.append({'title': title, 'id': event['id']}) if len(chats) == len(chat_ids): chat_id = int(input('Выберите чат для мониторинга (1 - {m_ch})'.format(m_ch=len(chats)))) print("Выбран чат", chats[chat_id]) choosen_chat_id = chats[chat_id]['id'] chat_id = int(input('Выберите чат для пересылки (1 - {m_ch})'.format(m_ch=len(chats)))) print("Выбран чат", chats[chat_id]) target_chat_id = chats[chat_id]['id'] if target_chat_id == choosen_chat_id: print("Нельзя два раза выбрать одно и то же!!!!") break И вместо него вставляем это: if event['@type'] == 'updateNewMessage': i=0 while i < sumChat: if event['message']['chat_id'] == choosen_chat_idA[i]: print("range(choosen_chat_idA): ", choosen_chat_idA[i]) message_type = event['message']['content']['@type'] print("*"*80) print("Получено:", message_type) print("-"*80) if message_type == 'messageText': message_text = event['message']['content']['text']['text'].translate(non_bmp_map) print(message_text) td_send({'@type':'sendMessage', 'chat_id':target_chat_idB[i], 'input_message_content': { '@type': 'inputMessageText', 'text': { '@type': 'formattedText', 'text': message_text }}} ) print("-"*80) print(event) print("*"*80) i+=1 if event['@type'] == 'chat': title = event['title'].translate(non_bmp_map) print('Получен чат', len(chats), title, event['id']) chats.append({'title': title, 'id': event['id']}) for x in range(sumChat): if len(chats) == len(chat_ids): chat_id = int(input('Выберите чат для мониторинга (1 - {m_ch})'.format(m_ch=len(chats)))) print("Выбран чат", chats[chat_id]) choosen_chat_idA.append(chats[chat_id]['id']) chat_id = int(input('Выберите чат для пересылки (1 - {m_ch})'.format(m_ch=len(chats)))) print("Выбран чат", chats[chat_id]) target_chat_idB.append(chats[chat_id]['id']) if target_chat_idB[x] == choosen_chat_idA[x]: print("Нельзя два раза выбрать одно и то же!!!!") break
×
×
  • Создать...