Как отправить вывод Python в телеграмму CHANNEL, а не в группу и группу электронной почты Gmail - PullRequest
0 голосов
/ 27 октября 2018

Привет, у меня есть программа на python, которая генерирует результаты каждый час. Результат может быть любым. Эта программа будет работать на локальной машине или в виртуальной частной сети.

У меня есть два требования 1. Отправьте этот сгенерированный питоном результат в одну группу телеграмм [имя группы «наш мир»] (созданную мной) автоматически без вмешательства пользователя. (У меня запущен клиент для настольной телеграммы или web.telegram.org в той же системе)

  1. Отправьте этот результат на электронный адрес группы Gmail.

Какие методы доступны для достижения этого требования. Есть ли рабочий код для этой работы. Пожалуйста, поделитесь информацией и подробностями.

Edit:

Проблема, с которой я сталкиваюсь:

1.создал бота с помощью BotFather. 2. Добавление этого бота в мою группу, здесь я получаю сообщение об ошибке, не могу добавить участника, поэтому добавил бота в качестве администратора в группе 3. Взятые из БОТ отмечены вниз. 4. Попытка получить ChatId в этом форуме (https://web.telegram.org/#/im?p=g154513121) кто-то говорит, что число после p = g является chartid, в моем случае нет число показывает @testingname, как это.

  1. Используя этот подход, пытаясь получить идентификатор чата https://api.telegram.org/bot738909732:AAE-2l7xAAlYHBXprK_a_bex09g9DMZbbDI/getme поэтому здесь 738909732 становится идентификатором чата (в этом случае, почему нам нужно разделить вызовите идентификатор диаграммы) вот это правда, как ответ приходит! Здесь идентификатор чата - это идентификатор моего "имени теста", который не был сгенерирован для группы. 6. Теперь упаковываем URL, чтобы увидеть ответ, который я получаю.

https://api.telegram.org/bot738909732:AAE-2l7xAAlYHBXprK_a_bex09g9DMZbbDI/sendMessage?chat_id=738909732&text=testing

вывод, если я запускаю это в браузере

{"ok": false, "error_code": 400, "description": "Bad Request: chat not" найдено "} {" ok ": false," error_code ": 403," description ":" Запрещено: бот не могу отправлять сообщения ботам "}

Как решить эту проблему и заставить BOT работать. Почему я не могу добавить BOT в мою группу с сообщением об ошибке «Cant Add user»

Как заставить работать эту группу телеграмм.

Примечание: с использованием BotFather BOT создан

Ответы [ 4 ]

0 голосов
/ 06 ноября 2018

В случае отправки сообщения в группу телеграмм, вышеуказанный метод, предоставляемый bipin_s, работает, когда используется chat_id = -xxxxxx. Это правильный идентификатор с последующим символом -, который будет использоваться.

Для размещения сообщения в «канале телеграммы» необходимо внести незначительные изменения в URL. URL должен быть оформлен, как показано ниже.

url = "https://api.telegram.org/botTokenID/sendMessage?chat_id=@yourChannelChatID&text=message"

Замените TokenID на ваш BOT tokenID, замените yourChannelChatID на идентификатор вашей диаграммы канала. Обратите внимание, что идентификатор канала не является отрицательным.

код будет выглядеть так

import request

url = "https://api.telegram.org/botXyz:wwwwDFSJSJSAX/sendMessage?chat_id=@telechanneltesting&text=message"
requests.post(url)

Здесь «сообщение», как в URL, оно будет размещено в канале телеграммы.

Как получить идентификатор канала? Перейдите на https://web.telegram.org/#/im в браузере, после входа в систему теперь ищите ваш «канал». Теперь в адресной строке браузера вы увидите одну ссылку, например https://web.telegram.org/#/im?p=@llliopppppsssssr

p = @ llliopppppsssssr после символа равенства появляется идентификатор канала чата.

0 голосов
/ 27 октября 2018

чтобы отправить сообщение в телеграмму "группа" без какого-либо вмешательства пользователя, вам нужен бот-телеграмма. создать один с помощью Telegram Bot-папа. взгляните на эту ссылку . также обратите внимание на токен при создании бота. Этот метод будет работать только для телеграммы. Канал .Telegram - другой метод, которому следует следовать, на который MarxBabu ответил ниже в своем посте ответов.

import requests

# telegram url
url = "https://api.telegram.org/bot<Token>"

def send_mess(text):
    params = {'chat_id':-xxxxxxx, 'text': text}
    response = requests.post(url + 'sendMessage', data=params)
    return response


send_mess(result_you_want_to_send) 

, чтобы получить chat_id, выполните шаги, упомянутые здесь . примечание: идентификатор группового чата всегда начинается с '-'. например группы chat_id -356163873. Токен и chat_id - это только то, что вам нужно для отправки сообщения в группу телеграмм.

для отправки групповых электронных писем вы должны искать больше, так как я не знаю много

0 голосов
/ 27 октября 2018

Вы можете отправлять электронные письма в python через SMTP или используя Mailgun Api

Я лично предпочитаю использовать Mailgun, так как его проще настроить, а отправку электронной почты так же просто, как отправку сообщенияпросьба к оружию.Вы можете получить бесплатную версию API и добавить свой идентификатор электронной почты группы в песочницу (чтобы избежать спама), а затем использовать запросы для отправки электронного письма с указанным токеном API

0 голосов
/ 27 октября 2018

У меня это работает на Raspberry Pi. Чтобы получить токен телеграммы, вы должны найти себе отца.

import telepot 
from telepot.loop import MessageLoop
telegram_token = 'xxxx:xxxxxx'
user = 4444444
bot = telepot.Bot(telegram_token)
bot.sendMessage(user, 'Hey!')

Для настройки gmail у меня сейчас нет чего-то здесь ...

...