Как получить id чата Telegram python

как узнать логин чата в телеграмм (7)

Я использовал telegram_bot и пытался получить идентификатор groupChat для отправки уведомлений в групповой чат, но не знаю, какие методы я должен использовать для этого.

Для получения идентификатора чата я использую message.chat.id, когда бот участвует в чате, но который я должен использовать для получения идентификатора группового чата, не могу найти /

Вот последовательность, которая работала для меня после нескольких часов борьбы:

Предположим, имя бота my_bot .

3- Перейдите по следующему адресу: https://api.telegram.org/botXXX:YYYY/getUpdates
замените XXX: YYYY на свой токен бота

4- Ищите «чат»:
-zzzzzzzzzz — это идентификатор вашего чата (с отрицательным знаком).

5- Тестирование: вы можете проверить отправку сообщения в группу с помощью локона:

curl -X POST «https://api.telegram.org/botXXX:YYYY/sendMessage» -d «chat_id=-zzzzzzzzzz

Если вы пропустите шаг 2, обновлений для группы, которую вы ищете, не будет. Также, если есть несколько групп, вы можете найти имя группы в ответе («title»: « group_name »).

How to use Python to get Telegram channel messages and users list

Надеюсь это поможет.

Вы можете получить идентификатор группы таким же образом. Он появляется в теле сообщения как message.chat.id и обычно это отрицательное число, где обычные чаты являются положительными.

Идентификаторы групп и идентификаторы чата могут быть получены только из полученного сообщения, нет доступных вызовов для извлечения активных групп и т. Д. При получении сообщения необходимо запомнить идентификатор группы и сохранить его в кеше или чем-то подобном.

Вы можете получить идентификатор чата таким образом.

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

Получите свой API-токен у bot_father: XXXXXXXXX:YYYYYYY-YYYYYYYYYYYYYYYYY_YY

Затем в вашем браузере сделайте запрос с этим URL:

https://api.telegram.org/botXXXXXXXXX:YYYYYYY-YYYYYYYYYYYYYYYYY_YY/getUpdates

Запрос возвращает ответ json, в тексте json найдите random message и получите идентификатор чата в этом объекте.

Используя python и telethon, очень легко получить идентификатор чата. Это решение лучше всего подходит для тех, кто работает с Telegram API.

Если у вас нет telethon, запустите это:

pip install telethon

Если у вас нет зарегистрированного приложения с telegram, зарегистрируйте его: Ссылка такая: https://my.telegram.org/

Затем запустите следующий код:

from telethon import InteractiveTelegramClient from telethon.utils.tl_utils import get_display_name client = InteractiveTelegramClient(‘session_id’, ‘YOUR_PHONE_NUMBER’, api_id=1234YOURAPI_ID, api_hash=’YOUR_API_HASH’) dialog_count = 10 dialogs, entities = client.get_dialogs(dialog_count) for i, entity in enumerate(entities): i += 1 # 1-based index print(‘<>. <>. id: <>’.format(i, get_display_name(entity), entity.id))

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

How to get API ID & API HASH of a Telegram Account | No Errors | By Bemro

По состоянию на середину 2018 года просто:

После присоединения он выведет JSON-файл, в котором ваш идентификатор чата будет расположен по адресу message.chat.id .

«message»: < «chat»: < «id»: -210987654, «title»: . «type»: «group», . >. >

Еще по теме:  Где найти скачанные видео в Телеграмме на Айфоне

Чтобы получить идентификатор группового чата, сделайте следующее:

  1. Добавьте Telegram BOT в группу.
  2. Получить список обновлений для вашего BOT:

https://api.telegram.org/bot/getUpdates
https://api.telegram.org/bot123456789:jbd78sadvbdy63d37gda37bd8/getUpdates

Это образец ответа, когда вы добавляете свою BOT в группу.

  1. Используйте «id» объекта «chat» для отправки ваших сообщений.

Message ├ message_id: 338 ├ from ┊ ├ id: ***** ┊ ├ is_bot: false ┊ ├ first_name: 사이드 ┊ ├ username: ****** ┊ └ language_code: en ├ chat ┊ ├ id: -1001118554477 // This is Your Group id ┊ ├ title: Test Group ┊ └ type: supergroup ├ date: 1544948900 └ text: A

2 🙂 используйте неофициальный мессенджер, такой как Plus Messenger, и посмотрите идентификатор вашей группы в информации о группе / канале

Источник: code-examples.net

Телеграм оповещения в приватных каналах

Пишем систему оповещения через приватный канал в Telegram. В предыдущей статье я писал как можно совместить несовместимое, то есть асинхронное приложение с синхронной работой. В задаче оповещений тоже есть несколько тонкостей. Например задача по поимке chat id приватного канала.

Обратимся к хорошо известному tornado , так как приложение будет работать по http . То есть мы будем наше сообщение отправлять в виде аргумента http запроса к телеграм боту. tornado будет слушать 80 порт и обрабатывать запросы, и передавать сообещения в наш приватный канал. Неплохо когда части программы существуют отдельно и развязны между собой посредством какого-то транспорта.

Создаем виртуальное окружение и добавляем следующие необходимые модули:

$ virtuaenv -p python2.7 env $ source env/bin/activate (env)$ pip install pyTelegramBotAPI tornado

Тонкости телеграм

Получим chat id для канала

$ nano telegram.py

После запуска бота мы получим chat_id

(env) $ python telegram.py -1001100397557

Напишем бота рассылок

Переводим канал в приватный, если это необходимо и теперь можно написать бота который будет оповещать. Так как по имени в приватный канал не получится отправлять сообщение.

$ nano telegram.py

Таким образом мы можем отправить сообщение в наш канал сделав простой GET запрос.

Источник: www.sinyawskiy.ru

Как получить id чата telegram python

Для начала давайте определимся с тем что такое бот. Бот представляет из себя интерфейс telegram с помощью которого может вызываться любая программа. То есть это прослойка между чатом в вашем телефоне и кодом на компьютере или сервере, помогающая отправить и получить данные в чате.

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

Схематично это взаимодействие выглядит примерно так:

Папа ботов

Для того, чтобы создать своего бота, необходимо обратиться с этой просьбой к отцу всех ботов:) На полном серьезе.

Еще по теме:  Как назвать канал в Телеграмме про себя на английском

Пишем ему сообщение /help и получаем перечень всех команд для botfather.

Здесь мы не будем подробно останавливаться на описании каждой команды. Сейчас нас интересует только создание нового бота. Это команда /newbot. Отправим её botfather и посмотрим что будет.

При получении этого сообщения botfather начинает процесс создания и просит вас задать имя для вашего нового бота, а затем и username. Разница в том, что имя может быть любым, тогда как username обязательно должно оканчиваться на «bot» (для того чтобы человек сразу понимал, что общается с ботом, а не с другим человеком). Для упрощения мы зададим одинаковые имя и username нашему боту.

После того, как название выбрано, botfather присылает нам токен бота.

Токен – это уникальный идентификатор нашего бота. Точка связи между ботом и кодом на сервере/компьютере. Именно по нему наш код будет обращаться к боту и попадать туда куда нужно, а бот в свою очередь идентифицировать то, что обращаются именно к нему.

На этом наше общение с botfather окончено.

Пишем функционал бота

Переходим ко второй части создания бота – написанию кода. В этой статье мы будем рассматривать в качестве основы python, который для начла нужно установить, если он у вас еще не установлен. Сделать это можно на официальном сайте python просто следуя инструкциям установщика.

После того как питон установлен, нам нужно установить библиотеку telepot, обеспечивающую взаимодействие python с telegram. Сделать это можно за 5 секунд. Открываем командную строку и пишем там $ pip install telepot.

В случае успешной установки мы увидим, Successfully installed. Вот как это выглядит у меня после всего «птичьего текста» процесса установки.

Описание всего функционала библиотеки доступно здесь. Написано легко и понятно. Но на английском.

Теперь у нас есть python и библиотека telepot, позволяющая взаимодействовать с telegram. Время написать простой код.

import telepot from pprint import pprint bot = telepot.Bot(‘***** Сюда надо вставить токен, полученный у botfather *****’) response = bot.getUpdates() pprint(response)

Здесь мы подключили библиотеки telepot и pprint, добавили токен, полученный нами ранее у botfather, послали запрос боту на то чтобы он отправил нам последние сообщения (bot.getUpdates()) и вывели результат на экран. Полученное сообщение выглядит так:

, ‘date’: 1465283242, ‘from’: , ‘message_id’: 10772, ‘text’: ‘Hello’>, ‘update_id’: 100000000>

Как мы видим, сообщение представляет собой массив, представленный в виде словаря python. Сообщение содержит в себе идентификатор чата (id), то, с кем ведется чат (first_name), тип чата, дату сообщения, от кого получено сообщение, номер сообщение и собственно сам текст. Вообще наполнение полученного сообщения постоянно обновляется, поэтому вполне вероятно, что когда вы будете читать этот текст, в ответе будет приходить гораздо больше параметров. Актуальная версия описания всегда доступна в описании api на официальном сайте telegram.

Теперь, когда мы знаем как выглядит сообщение, можно написать простого бота-калькулятора. Код будет выглядеть следующим образом:

import telepot from telepot.loop import MessageLoop TOKEN = ‘***** Сюда надо вставить токен, полученный у botfather *****’ bot = telepot.Bot(TOKEN) def handle(msg): «»» Process request like ‘3+2’ «»» content_type, chat_type, chat_id = telepot.glance(msg) text = msg[«text»] try: answer = eval(text) except: answer = «Can’t calculate :(» bot.sendMessage(chat_id, «answer: <>».format(answer)) MessageLoop(bot, handle).run_as_thread() # Keep the program running. while True: n = input(‘To stop enter «stop»:’) if n.strip() == ‘stop’: break

Еще по теме:  Как разблокировать 18 каналы в Телеграмм на iOs

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

Для того, чтобы программа выполнялась, в конце добавлен цикл, выполняющий код до момента написания слова ‘stop’.

Запускаем код и проверяем результат в telegram. Все работает!

Нюансы

Есть несколько важных нюансов, которые нужно понимать при работе с ботами telegram:

  1. Бот сам не может являться инициатором беседы в чате. Это можете сделать только вы. До момента как вы напишете что-нибудь боту, он считается выключенным.
  2. Так как код python (и любой другой) запускается на компьютере или сервере, он будет выполняться только если компьютер/сервер доступен. То есть в случае если компьютер с кодом «заснул», отвалилась сессия или код завис — бот работать не будет. То же самое относится к серверу.
  3. Если компьютер/сервер с кодом бота перезагрузился, нужно запускать код заново, а так же инициировать беседу с ботом в telegram (см.п.1) иначе бот работать не будет.
  4. Есть два метода получения сообщений. Это getUpdates и webhooks. В этой статье описан метод getUpdates как наиболее простой для старта. Отличие getUpdates от webhooks в том что в первом случае ваш компьютер/сервер через заданные промежутки времени проверяет наличие новых сообщений, а во втором telegram сам отправляет новые сообщение при их наличии к вам на сервер. Webhooks меньше грузит и ваш сервер и сервера telegram, однако требует дополнительной настройки и наличия ssl сертификата.

Из ограничений готовых ботов и платформ-конструкторов можно отметить то, что в результате их популярности и большого количества пользователей, такие боты могут работать не стабильно в зависимости от нагруженности серверов, на которых размещены боты. Это может выражаться как в увеличенном времени реакции бота, так и в полном отсутствии реакции в части случаев.

Зачем все это:

Ключевой вопрос: «как можно применить бота?». Можно, например, научить бота python читать логи на предмет ошибок и выдавать сообщение если в процессе что-то пошло не так. Можно обрабатывать aml события и блокировать счета мошенников в реальном времени (привет sas-форум). Можно создать библиотеку знаний по нужной области рисков и отправлять нормативные документы по запросу.

Применить бот в работе рисковика можно. Все зависит от вашей фантазии и наличия открытых портов для api telegram в вашем банке 🙂

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

Полезные ссылки:

Источник: www.rtportal.ru

Рейтинг
( Пока оценок нет )
Загрузка ...