Как получить id пользователя telegram python
Перейти к содержимому

Как получить id пользователя telegram python

  • автор:

Как узнать ID пользователя нажавшего inline кнопку под постом?

Author24 — интернет-сервис помощи студентам

Как узнать ID пользователя нажавшего inline кнопку под постом?
У меня есть группа, под постами в этой группе есть кнопка «В закладки».
Посты в группу я добавляю через собственного бота.

Я хочу чтобы обычный пользователь через этого бота мог видеть свои закладки. Для этого мне нужно получить ID пользователя. Это вообще реально?

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Как узнать id пользователя под которым зашел в прогу?
System.NullReferenceException: "Ссылка на объект не указывает на экземпляр объекта." .

Как узнать, из под какого пользователя запущена служба
У меня косячно работает служба Net Hasp Loader. Нужно узнать, ис под какого пользователя она.

Как убрать следующая/предыдущая запись под постом
Собственно вопрос в заголовке. Как убрать эту бяку?

Как получить всех пользователей, которые писали под постом в телеграме
Какую библиотеку использовать, чтобы просто получить инфу о всех пользователях под определенным.

Регистрация: 13.10.2022
Сообщений: 79

Хм, ну тут смотря что вы используете.

В Telebot есть функция:

message.from_user.id
if message.from_user.id not in users: users.append(message.from_user.id)

Дальше уже используйте это где вам нужно)
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Inline функции — на сколько должна быть маленькая функция, чтоб она подошла под inline?
Здравствуйте. Знаю теорию, но не понимаю, на сколько должна быть маленькая функция, чтоб она.

Как привязать inline кнопку к определённому сообщению
Пишу бота по приёму заявок в техсервис. Делаю функцию назначения исполнителя к для каждой заявки.

Как оставить комментарии под постом группы (не страницы) от имени страницы компании в Фейсбуке?
Я веду странице в фейсбуке, мне необходимо оставить коммент под постом группы от имени той страницы.

Telegram.Bot17.0.0 Как создать обработчик клика на inline кнопку?
Раньше можно было так Bot.OnCallbackQuery, сейчас не понятно что к чему. Как сделать.

Как заставить работать Inline кнопку в сообщении для отправки фото
Доброго! Проблема в том, что не могу понять, как заставить работать Inline кнопку. Код: .

Вывод определенных тэгов под каждым постом
Доброго времени суток уважаемые форумчане. Столкнулся с такого рода проблемой. Непонимаю как.

Выводятся все комментарии под каждым постом
Хочу вывести комменты под постами, но возникает трудность — под каждым из них выводятся все.

Или воспользуйтесь поиском по форуму:

Как из Telegram ID сделать Username — Python — Ответ 16304387

Всё круто, только мне надо было искать не userid а его ник, но с этим я вроде как разобрался, и ещё, как можно передавать в async функцию аргумент?

Добавлено через 4 минуты
Jabbson,

1 2 3 4 5 6 7 8 9 10 11 12 13
def TG_Finder1(message): user_id= str(message.text) async def find_user(username): return await client(GetFullUserRequest(username)) async def main(user_id): full = await find_user(user_id) print(full.user.username) with client: client.loop.run_until_complete(main(user_id))

Я пытаюсь их соединить с telebot и сделать так, чтобы я считывал из сообщения пользователя id, а затем по этому id находил человека

Меню пользователя @ Shipuchka_47

Как получить id пользователя через @упоминание в telegram?

Я хочу сделать бота модератора для чата в телеграм, но при написании кода сталкиваюсь с проблемой, что в js и python нет метода для получения юзера из упоминания. Например, мне нужно забанить пользователя, но единственный способ — это ответить на его сообщение. Есть ли какой-то способ получения id в aiogram через упоминание (@юзернейм) или какой можно использовать язык программирования и библиотеку для такой цели?

  • Вопрос задан более года назад
  • 1703 просмотра

Комментировать
Решения вопроса 0
Ответы на вопрос 1

gnifajio

Совершенствуюсь каждый день

Чтобы получить id пользователя через упоминание в Telegram с помощью aiogram, вам нужно будет сначала извлечь упоминание из сообщения, а затем использовать метод resolve_peer клиента для получения id пользователя.

Вот пример того, как это можно сделать:

import re from aiogram import Bot, Dispatcher, types # Инициализируем бота и диспетчер bot = Bot(token='your_bot_token') dp = Dispatcher(bot) @dp.message_handler() async def handle_message(message: types.Message): # Извлекаем упоминание из сообщения mention = re.search(r'@(\w+)', message.text) if mention: # Получаем id пользователя через resolve_peer user_id = await bot.resolve_peer(mention.group(1)) # Теперь можем использовать user_id для выполнения нужных действий await message.reply(f'User ID: ')

Код написан довольно костыльно, не могу не согласится, но для примера сгодится.

Ответ написан более года назад
Uni0005 @Uni0005 Автор вопроса

user_id = await bot.resolve_peer(mention.group(1)) ^^^^^^^^^^^^^^^^ AttributeError: 'Bot' object has no attribute 'resolve_peer'

Какую версию aiogram вы используете?

gnifajio

Uni0005, забыл упомянуть, что resolve_peer нет в aiogram, для получения этой функции нужно использовать pyrogram. Но вы можете сохранять username пользователя в базу данных вместе с id, и при надобности извлекать эти значения.

Как получить ид пользователя по его упоминанию?

TosterModerator

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

Решения вопроса 0
Ответы на вопрос 2
Сисадмин, просто сисадмин.

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

Это можно обойти использованием клиентского API (библиотеки telethon, pyrogram). Но этот API выполняет запросы от реального пользователя Telegram, поэтому если злоупотреблять запросами, можно получить бан не бота, а прям своего живого аккаунта.

От себя рекомендую этой фигнёй не страдать, у Bot API есть свои понятные сценарии работы, и в рамках них id пользователя можно получить вполне легально именно тогда, когда это имеет смысл в рамках функциональности бота.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *