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

Пересылать сообщения из чужих чатов и каналов в свои


Рекомендованные сообщения

17.04.2020 в 11:55, zamok сказал:

Та же проблема(

Подскажите что делать... 😭

 

07.04.2020 в 20:17, davidfox200 сказал:

Подскажите что делать дальше. Дошел до момента Enter code, мне пришёл код на ТГ, после чего нажимаю Enter, и глухо
В папке telegram создается две папки, общий вес которых 104 кб. 
Пробовал скачивать VPN, так же не помогло. 
Что делать? Есть ли решение? 
photo_2020-04-07_20-14-33.jpg.b128f5ef92fd09b7c192d76bde050f2b.jpg

Автор или кто нибудь, подскажите пожалуйста решение вопроса.

Уже всю голову об стену разбил 😬😬😬

Ссылка на сообщение
Поделиться на других сайтах
  • 2 weeks later...
  • Ответы 72
  • Created
  • Последний ответ

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Всем привет! Сегодня речь пойдет о создании бота на базе самодельного телеграм-клиента. Т.е. смысл такой - берутся исходники телеграма, компилируются, получаем библиотеку. С этой библиотекой

Этап 1 - сложный, его можно пропустить Для начала будет нужно скомпилировать себе библиотеку от телеграма  Для этого понадобится программа Git for Windows Скачиваем, устанавливаем, теперь да

Этап 3 - непосредственно запуск и работа В директории C:\code\examples\telegram создайте файл main.py со следующим содержимым: # -*- coding: utf-8 -*- # # Copyright Aliaksei Levin (levlam@te

Posted Images

  • 2 weeks later...

Найдите в скрипте строки

# main events cycle
while True:
    event = td_receive()
    if event:

И измените вот так

# main events cycle
while True:
    event = td_receive()
    if event:
	    print(event) # <---

И смотрите в процессе, какой поток сообщений вам пишет, особенно после ввода цифр.

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

Киньте вывод сюда если что

 

Ссылка на сообщение
Поделиться на других сайтах
  • 5 weeks later...

Traceback (most recent call last):
  File "/Users/user/PycharmProjects/project/main.py", line 17, in <module>
    tdjson = CDLL(tdjson_path)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/ctypes/__init__.py", line 373, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: dlopen(tdjson.dll, 6): no suitable image found.  Did find:
    tdjson.dll: unknown file type, first eight bytes: 0x4D 0x5A 0x90 0x00 0x03 0x00 0x00 0x00
    /Users/user/PycharmProjects/project/tdjson.dll: unknown file type, first eight bytes: 0x4D 0x5A 0x90 0x00 0x03 0x00 0x00 0x00

Process finished with exit code 1

Ссылка на сообщение
Поделиться на других сайтах

Я просто скопировал ваши файлы и запустил код на Mac OS - есть ли нюансы при запуске кода на маке? 

Использую PYCHARM

Изменено пользователем ElContra
Ссылка на сообщение
Поделиться на других сайтах

Запустился на винде

 


Enter code:  *******

 

после ввода кода ничего не происходит( а если сбросить подключение в телегу прилетает следующее: 

 

Код был введен верно но правильный пароль указан не был! у меня была подобная ошибка на граббере телетона но там пароль был именно от учетки мака: а на винде пароля вообще нет у меня ( в замешательстве я. Товарищ Админ: помогите пожалуйста! 

Изменено пользователем ElContra
Ссылка на сообщение
Поделиться на других сайтах
28.05.2020 в 10:42, admin сказал:

Найдите в скрипте строки


# main events cycle
while True:
    event = td_receive()
    if event:

И измените вот так


# main events cycle
while True:
    event = td_receive()
    if event:
	    print(event) # <---

И смотрите в процессе, какой поток сообщений вам пишет, особенно после ввода цифр.

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

Киньте вывод сюда если что

 

if event['@type'] == 'updateAuthorizationState' and event['authorization_state']['@type'] == 'authorizationStateClosed':
                                                                                                                           ^
IndentationError: unindent does not match any outer indentation level

Ссылка на сообщение
Поделиться на других сайтах

Сейчас ругается на отступы, вы когда добавляли, поставили видимо не правильное кол-во пробелов/табуляций вначале строки или вокруг неё.

На MacOS не подойдут файлы, собранные под Windows

Ссылка на сообщение
Поделиться на других сайтах
  • 1 month later...

Добрый день! 

Спасибо за такую классную реализацию. 

1) а скрипт работает только проюи включённом компе или можно 1 раз запустить на все время? 

2) можно ли задать конкретный чат, из которого делать перепосты? 

Ссылка на сообщение
Поделиться на других сайтах
  • 1 month later...
  • 3 weeks later...

Доброго времени суток. Столкнулся с такой проблемой: 

и не понимаю что делать. Вы не могли бы помочь? 

 

с программированием на Ваше Высочество

 

 

 

 

1.jpg

2.jpg

3.jpg

Изменено пользователем Rezo
Ссылка на сообщение
Поделиться на других сайтах
06.10.2020 в 03:28, Rezo сказал:

Доброго времени суток. Столкнулся с такой проблемой: 

1.jpg

2.jpg

 

Я честно говоря уже подзабыл что там и как, но на скриншоте написано, что могут выдаваться ошибки и это сейчас не важно, попробуйте продвинуться дальше, к этому шагу всегда можно вернуться если потребуется. Вроде бы будет достаточно в итоге его положить в папку с ботом

Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, admin сказал:

Я честно говоря уже подзабыл что там и как, но на скриншоте написано, что могут выдаваться ошибки и это сейчас не важно, попробуйте продвинуться дальше, к этому шагу всегда можно вернуться если потребуется. Вроде бы будет достаточно в итоге его положить в папку с ботом

Благодарю, за ответ.

В после запуска программы, вылетает ошибка как на первом скриншоте. 

tdjson находится и в папке с проектом и в system32

Ссылка на сообщение
Поделиться на других сайтах
  • 2 weeks later...
18.10.2020 в 00:20, Nurgazy сказал:

А как сделать что бы и фото отправлял?

встретился с вопросом не только отправки фото, но и комментария к фото. надо как-то взять сообщение, а как...
это скорей всего вот эта строчка, только тут вместо messageText должно быть фото. Вернее не вместо, а можно наверно добавить ещё одно условие  if message_type == ...
осталось только узнать название, какое название типа фото.
Узнал, он называется 'messagePhoto'

 if message_type == 'messageText':
                                message_text = event['message']['content']['text']['text'].translate(non_bmp_map)

Изменено пользователем Геннадий
Ссылка на сообщение
Поделиться на других сайтах
  • 2 weeks later...

Приветствую. Подскажите как в пересылаемом сообщении сохранить информацию об отправителе? id отправителя вроде бы вытащил, дальше фантазия закончилась...

        if event['@type'] == 'updateNewMessage' and event['message']['chat_id'] == choosen_chat_id:
            message_type = event['message']['content']['@type']
            print("*"*20)
            print("Получено:", message_type)
            print("-"*20)
            if message_type == 'messageText':
                
                message_sender = event['message']['sender_user_id']
                print("Отправитель:", message_sender)
                
                message_text = event['message']['content']['text']['text'].translate(non_bmp_map)
                print("Текст сообщения:", message_text)
                
                if '' in message_text:
                  td_send({'@type':'sendMessage', 'chat_id':target_chat_id, 'input_message_content': {
                           '@type': 'inputMessageText', 'text': {
                           '@type': 'formattedText', 'text': message_text
                          }}}
                           )  

 

Ссылка на сообщение
Поделиться на других сайтах
  • 4 weeks later...
28.01.2019 в 18:37, admin сказал:

Так-с, ну собственно задача выполнена. Немного об ограничениях - сейчас берутся 100 самых свежих чатов, из-за особенностей работы АПИ. Можно сделать больше, но это нужно больше кода писать, сейчас не вижу в этом смысла. Оба канала - источник и приемник, должны быть в первой сотне. Можете их прикрепить, тогда они всегда гарантировано будут сверху. Можете захардкодить ID каналов, что бы сразу пересылать из одного в другой.

Еще бот пересылает текстовые сообщения - пусть с картинками и прочим. Это большинство сообщений телеграмма в большинстве каналов, но бот не будет пересылать пост-картинку. Если выложили картинку, с описанием или нет, бот её проигнорит. Можно, конечно, добавить обработку и этого, но опять же нужно разбираться с этим и дописывать код.

Ну и еще разного рода смайлики могут быть обрезаны/заменены, т.к. TK, на котором написан Idle, не может их отображать.

Ну а в остальном всё работает из коробки и задел у такого большой, так что удачи, что бы вы там не планировали 🙂

Прикладываю файлы

Клиент telegram, скрипт для копирования сообщений канала

Спасибо Вам огромное за этот труд! Реально работает, причем довольно хорошо. И памяти есть относительно немного.

Если не сложно, подскажите пожалуйста, как пересылать картинки?

Я понял, что нужно указать соответствующий тип сообщения (аудио, картинка и т.д.).Попытался написать вот такую конструкцию:

if message_type == 'messagePhoto':
                try:
                    message_text = event['message']['content']['photo'].translate(non_bmp_map)
                    print("картинка")
                    td_send({'@type':'sendMessage', 'chat_id':target_chat_id, 'input_message_content': {
                        '@type': 'localFile',
                        'text': {
                            '@type': 'file',
                            'text': message_text
                            }}}
                            )
                except:
                    message_text = event['message']['content']['photo'].translate(non_bmp_map)
                    print("картинка")
                    td_send({'@type':'sendMessage', 'chat_id':target_chat_id, 'input_message_content': {
                        '@type': 'photo',
                        'text': {
                            '@type': 'localFile',
                            'text': message_text
                            }}}
                            )

Здесь я пытался подобрать комбинацию параметров "typeMessage" и "@type " , чтобы пересылать картинку. Естественно, этот код не сработал. Я получил ошибку:

message_text = event['message']['content']['photo'].translate(non_bmp_map)
AttributeError: 'dict' object has no attribute 'translate'

Пока не понял, как задать параметр/переменную message_text таким образом, чтобы можно было получать картинку. Если не сложно, подскажите, пожалуйста, а то я полный нуб в программировании пока. Или хотя бы подскажите, что почитать для решения этого вопроса (кажется, этот код несколько шире, чем синтаксис python, возможно, здесь используется ещё json?)

Ссылка на сообщение
Поделиться на других сайтах
  • 1 month later...
06.10.2020 в 03:28, Rezo сказал:

Доброго времени суток. Столкнулся с такой проблемой: 

и не понимаю что делать. Вы не могли бы помочь? 

 

с программированием на Ваше Высочество

 

 

 

 

1.jpg

2.jpg

3.jpg

В первый раз сообщил, что не хватает dll файлов, их надо закинуть все.
Во второй раз произошла такая же ошибка, но все сработало.

Ссылка на сообщение
Поделиться на других сайтах
26.06.2020 в 22:10, ElContra сказал:

Запустился на винде

 


Enter code:  *******

 

после ввода кода ничего не происходит( а если сбросить подключение в телегу прилетает следующее: 

 

Код был введен верно но правильный пароль указан не был! у меня была подобная ошибка на граббере телетона но там пароль был именно от учетки мака: а на винде пароля вообще нет у меня ( в замешательстве я. Товарищ Админ: помогите пожалуйста! 

Для всех, у кого после Enter code скрипт зависает, а телега присылает сообщение о незавршенной попытке входа.
У вас включена двухфакторная аутентификация. Скрипт этого не понимает, а телега ждет пароль. Выключите двухфакторную аутентификацию, все заработает.

Ссылка на сообщение
Поделиться на других сайтах
10.11.2019 в 12:30, admin сказал:

Может с разных, только нужно алгоритм поменять.

Вообще он может всё то же самое, что и вы через официальный клиент Telegram

https://telefeed.readthedocs.io/commands/#connect

Вот что запилили на базе этой библиотеки. 

Ссылка на сообщение
Поделиться на других сайтах
  • 1 month later...

Всем доброго дня.

1) Подскажите, пожалуйста, должен ли бот быть добавлен или быть админом в паблик, из которого идет репост или нет?

Есть ли какая-то возможность настроить работу бота без необходимости держать компьютер включеннным?

Изменено пользователем dimas123123
Ссылка на сообщение
Поделиться на других сайтах

Нет, бот будет просто посетителем, таким же как вы. Если вы можете получать сообщения то и бот сможет получать и пересылать.

Что бы не держать бота на своем компе можно арендовать выделенный сервер за несколько долларов в месяц

Ссылка на сообщение
Поделиться на других сайтах

Спасибо большое за ответ.

Небольшое уточнение позвольте: а если лишних из этого чата вычищают, то и моего бота вычистят?

Или его даже добавлять в тот чат не надо?

Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.




×
×
  • Создать...