Любой, кто дает стартер, как я могу получить информацию о пользователях из моего телеграммы bot.Imagine мой бот в пользователе администратора на моем канале, и я хочу получить список моих каналов или быть замеченным, когда новый пользователь присоединяется. Как мне это сделать.
Документы телеграммы настолько неорганизованны.
до сих пор я смотрел на них:
https://core.telegram.org/bots
https://core.telegram.org/bots/api
https://core.telegram.org/bots/samples
https://core.telegram.org/bots/faq
Но ничто из этого действительно не помогает.
спросил(а) 2015-11-21T17:08:00+03:00 7 лет, 6 месяцев назад
добавить комментарий
пожаловаться
Чтобы получить список пользователей, вам необходимо использовать API телеграмм.
API Telegram довольно сложный. Есть несколько клиентов, которые могут выполнять работу намного быстрее. Для python существует Telethon, а способ получения пользователей канала:
get_full_channel .
ответил(а) 2017-06-14T21:42:00+03:00 5 лет, 11 месяцев назад
добавить комментарий
пожаловаться
Получаем список id всех пользователей в канале Telegram!
Telegram Bot не хранит ничего о ваших пользователях. Вы должны сохранить самостоятельно всех пользователей, которые общаются с вашим ботом. Например, сохраните их идентификаторы в базе данных.
В случае канала — вы можете получить эту информацию из списка участников канала. Если вам нужно получить уведомление — ваш бот должен где-то хранить пользователей и проверять, является ли пользователь новым.
ответил(а) 2015-11-22T18:02:00+03:00 7 лет, 6 месяцев назад
добавить комментарий
пожаловаться
Чтобы получить список пользователей, вам необходимо использовать API телеграмм.
API Telegram довольно сложный. Есть несколько клиентов, которые могут выполнить работу намного быстрее.
Для python существует Telethon, а код для получения пользователей канала:
from telethon import TelegramClient
from telethon.tl.functions.contacts import ResolveUsernameRequest
from telethon.tl.functions.channels import GetAdminLogRequest
from telethon.tl.types import InputChannel
from telethon.tl.types import ChannelAdminLogEventsFilter
from telethon.tl.types import InputUserSelf
from telethon.tl.types import InputUser
# These example values won’t work. You must get your own api_id and
# api_hash from https://my.telegram.org, under API Development.
api_id = ****** # Your api_id
api_hash = ‘********************************’ # Your api_hash
phone_number = ‘+989122594574’ # Your phone number
client = TelegramClient(phone_number, api_id, api_hash)
client.session.report_errors = False
client.connect()
if not client.is_user_authorized():
client.send_code_request(phone_number)
client.sign_in(phone_number, input(‘Enter the code: ‘))
channel = client(ResolveUsernameRequest(‘tabe_eshgh’)) # Your channel username
user = client(ResolveUsernameRequest(‘amir2b’)) # Your channel admin username
admins = [InputUserSelf(), InputUser(user.users[0].id, user.users[0].access_hash)] # admins
Регистрируем пользователя бота через ОПРОС | Телеграм
admins = [] # No need admins for join and leave and invite filters
filter = None # All events
# param: (join, leave, invite, ban, unban, kick, unkick, promote, demote, info, settings, pinned, edit, delete)
filter = ChannelAdminLogEventsFilter(True, True, True, False, False, False, False, False, False, False, False, False, False, False)
result = client(GetAdminLogRequest(InputChannel(channel.chats[0].id, channel.chats[0].access_hash), », 0, 0, 10, filter, admins))
##print(result)
for _user in result.users:
##print(_user.id)
with open(».join([‘users/’, str(_user.id)]), ‘w’) as f:
f.write(str(_user.id))
ответил(а) 2017-09-10T12:35:00+03:00 5 лет, 8 месяцев назад
добавить комментарий
пожаловаться
Нет никакого api для бота Telegram для доступа к пользователям каналов или групп.
Если доступ к пользователям группы важен для вас, я предлагаю вам использовать Telegram-CLI. Вы можете получить доступ ко всем пользовательским API учетной записи Telegran, чтобы у вас был доступ ко всем данным ваших пользователей группы.
https://github.com/vysheng/tg
ответил(а) 2017-05-30T12:42:00+03:00 5 лет, 11 месяцев назад
добавить комментарий
пожаловаться
-
поймать все сообщения канала и фильтр «XXX присоединился к каналу» один — это теоретически, я не пытался
использовать https://github.com/vysheng/tgl
ответил(а) 2017-01-25T12:21:00+03:00 6 лет, 3 месяца назад
добавить комментарий
пожаловаться
Еще в рубрике
Как я могу определить, что пользователь ответил на мои вопросы SendTextMessageAsync
Хранилище данных Telegram-bot
Установить webhook для бота телеграммы и что такое сертификат самопроверки
Телеграмма бот ждет ответа пользователя
Другие вопросы
обновления в бот-коммутаторе телеграммы()
Есть ли лучший способ с NodeJs получать обновления от бота Telegram?
Получение изображений, отправленных на ваш бот Telegram, используя Django
- Вопросы
- Telegram-bot
- Как получить список пользователей каналов Telegram с API Telegram Bot
Источник: progi.pro
Можно ли получить список всех участников чата в Telegram?
Подскажите, пожалуйста, можно ли каким-то образом получить список всех участников некоторого чата в Telegram? Интересует именно «username» пользователей.
Ответы (3 шт):
Одной командой вроде get.ChatMembers нельзя, но можно воспользоваться обходными путями, например, если вам нужен список всех участников чата, например вручную забить в базу данных их никнеймы, а лучше их id , так как никнейм, в отличии от id может поменятся. Можно создать новый чат и при вступлении в него пользователя регистрировать его с помощью метода new_chat_members . Ну или можно создать штучную регистрацию, чтобы участники отправили какое-то сообщение вроде /reg и бот автоматически добавил их в бд.
Да, возможно, приложу свой скрипт который справляется с данной задачей, Github
Также приложу код тут с пояснениями, на случай удаления репозитория:
Делаем необходимые импорты:
import sys from getpass import getpass from time import sleep # pip install telethon==0.11.5 from telethon import TelegramClient from telethon.errors import SessionPasswordNeededError from telethon.errors.rpc_errors_400 import UsernameNotOccupiedError from telethon.errors.rpc_errors_420 import FloodWaitError from telethon.tl.functions.channels import GetParticipantsRequest from telethon.tl.functions.contacts import ResolveUsernameRequest from telethon.tl.types import ChannelParticipantsSearch, InputChannel
Далее нам нужно создать аккаунт тут https://my.telegram.org и заполнить следующие поля:
api_id = 0 api_hash = » phone = » limit = 100
Теперь нам надо авторизоваться:
Приступаем к сбору пользователей, для этого нам нужен ID чата и access_hash как сказано в документации:
def get_chat_info(username, client): try: chat = client(ResolveUsernameRequest(username)) except UsernameNotOccupiedError: print(‘Chat/channel not found!’) sys.exit() result = < ‘chat_id’: chat.peer.channel_id, ‘access_hash’: chat.chats[0].access_hash >return result
Получить всех пользователей группы telegram
Вы можете извлечь всех членов какой-либо определенной группы или канала (вам нужно быть администратором для канала), используя телемарафон, вы можете использовать для этого telethon, вы можете найти его здесь: — https://github.com/LonamiWebs/Telethon Telethon извлекает все члены данной группы и сохраняет ее в базе данных SQLite.
Smitk 12 июль 2018, в 14:15
Поделиться
Вы решили проблему? Я использую метод GetChatMemberCount для телеграммы bot api, чтобы получить член группы. И я также могу использовать bot api, чтобы получить информацию о пользователе, которая отправляет сообщение группе. Я сомневаюсь, что есть другой способ получить членский номер без бота api.
EvanLee 11 июль 2018, в 10:56
Поделиться
API телеграмм:
То, что вы пытаетесь архивировать, в настоящее время невозможно с помощью бота api. Я не уверен в nodejs api, но официальный бот api (который, скорее всего, будет использоваться в вашей реализации) не позволяет получать конкретную информацию обо всех членах. Что вы можете сделать, это вопрос, сколько пользователей в настоящее время находится в группе, используя getchatmemberscount. И если у вас есть идентификатор пользователя одного из членов группы, вы можете получить дополнительную информацию об этом пользователе с помощью функции getchatmember.
API телеграмм:
С помощью API Telegram вы можете контролировать «обычного» пользователя о том, как вы будете управлять ботом. Пользователям не будет очевидно, что ваша учетная запись автоматизирована, если вы решите использовать этот API; Фактически, официальные приложения телеграмм используют его в качестве бэкэнд. Однако вам нужно будет зарегистрировать свой номер телефона так же, как и с обычной учетной записью. С помощью этого API вы можете запросить все чаты, которые бот очень легко использует с помощью функции getChats. Затем вы можете запросить полную информацию о чате для конкретного чата (включая всех пользователей и их данные) с помощью getFullChat.
Distjubo 26 июнь 2018, в 22:12
Поделиться
Telegram Bot API не предоставляет такую функциональность, единственный способ сделать это эффективно — использовать userbot (бот работает под обычной учетной записью Telegram).
Jack’lul 26 июнь 2018, в 21:13
Поделиться
Ещё вопросы
- 0 Толкая значения в моделировании внутри повтора
- 1 VideoView воспроизводится нормально, но не отображается при переключении полноэкранных представлений
- 1 Доступ к Android Входящие / Сообщения из Активности?
- 0 Стиль строки в абзаце с идентификатором
- 0 Странная ошибка возле MySQL с функцией
- 0 Включая собственный шрифт по HTML
- 0 конструкторы, вызывающие подкласс
- 0 Красивая ошибка декодирования супа
- 1 Как ограничить перенаправления в Android App родной рекламы?
- 0 Python утилизация данных с неправильной HTML-структурой
- 0 Как использовать попсовер AngularStrap в сервисе
- 1 Jitpack Doent построить проект
- 0 Orbit 1.4 против Flexslider: проблемы с каждым, пытаясь выбрать один
- 0 Поместите два делителя шириной 100% бок о бок
- 0 Невозможно отправить почту C ++
- 1 Типы предупреждений в Python и MATLAB
- 0 PHP раскрывающийся список, который загружает файл из папки при нажатии на
- 1 сканировать список сайтов один за другим с помощью scrapy
- 0 Вложенная директива в ngView не работает Angular JS
- 1 Как отслеживать и увеличивать количество дубликатов, используя hashmap
- 0 эхо UPLOADPATH. $ row [‘image’] не отображает имя файла
- 0 Javascript — Изменить высоту в в зависимости от высоты изображения (ов) в div или полностью удалить?
- 0 Как перейти в режим мониторинга с помощью NDIS?
- 1 Определить, когда анимация завершена (AnimationListener)
- 0 Неверное выражение пути. Должно быть StateFieldPathExpression
- 0 Ошибки PEAR в отдельном всплывающем окне
- 0 Пример работы с редактором текстового редактора tinymce не запущен
- 0 Сохраните отфильтрованный список перед применением другого фильтра с помощью ng-repeat
- 0 Читайте информацию о компоновщике из dll [дубликата]
- 0 Попытка получить этот лайтбокс .js для отображения при загрузке страницы
- 0 3 зависимых поля выбора
- 0 Проводные кнопки для выбора / отмены выбора из динамически создаваемых списков
- 0 AngularJS анализирует данные JSON с переменной области видимости
- 3 Не удалось разрешить com.android.support:support-compat:26.1.0
- 0 Угловая маршрутизация мини контролера до пункта маршрута
- 1 Какой из них хорош для лучшей производительности?
- 0 Ant генерирует html href список из набора файлов, добавляет тег для каждой строки
- 1 ItemRegister Iterator
- 0 mysqli_query не работает в php
- 1 Не удается сохранить нового пользователя с Express https://overcoder.net/q/1916517/%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B8%D1%82%D1%8C-%D0%B2%D1%81%D0%B5%D1%85-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%B9-%D0%B3%D1%80%D1%83%D0%BF%D0%BF%D1%8B-telegram» target=»_blank»]overcoder.net[/mask_link]