Как кидать кубик в Телеграмме

В Telegram Bot API появился метод sendDice, возволяющий кинуть случайно кубик или дартс в чат.
https://core.telegram.org/bots/api#senddice
Понятно, как вызвать его HTTP запросом к API от имени бота.
Как вызвать этот метод через Telethon, с учетом того, что я вхожу в Telegram как пользователь, не бот?

  • Вопрос задан более трёх лет назад
  • 16560 просмотров

14 комментариев

Средний 14 комментариев

А простая отправка эмодзи кубика не работает?

klkvr, нет, я пробовал. Если посмотреть код десктопного клиента, он, да, преобразует эмодзи в стикер. Если просто отправить через Telethon сообщение с эмодзи, оно так и останется эмодзи, не анимируется и не бросает кубик.
Через Bot API все работает, но мне нужно бросить кубик не от имени бота, а от своего, от пользователя.

IRT, Ну сразу могу сказать, что через Telethon это сделать не получится, так как либу давно не обновляли. Даже в том же pytelegrambotapi sendDice метода нету еще, приходится делать через url-запрос. Можете поискать в user API телеграма информацию об этом, но отдельно от Telethon делать авторизацию юзера будет очень броблематично и костыльно

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

ФИШКИ ТЕЛЕГРАММА! КАК БРОСИТЬ КУБИК? КАК ОТРЕДАКТИРОВАТЬ ТЕКСТ? ТУТ ВСЁ КРАТКО И ПОНЯТНО!

IRT, https://docs.telethon.dev/en/latest/modules/custom. А хотя вот упоминание параметра в сообщении, говорящего про DIce. Попробуйте посылать сообщение с правильным значением этого параметра. Если он будет менее тривиальный чем True/False, поотправляйте себе сообщения с кубиком и изучите как будет выглядеть их структура

klkvr, да, видел, создатель Telethon добавил тип сообщения Dice. Но все равно непонятно, как его отправлять. К тому же, я попробовал этот кубик отфорвардить в нужную группу из Saved Messages — telethon падает с ошибкой, не могу мол отфорвардить сообщение этого типа.

IRT, я в Telethon просто в send_message пихаю переменную класса Message. У вас он от этого падает?

klkvr, https://github.com/LonamiWebs/Telethon/issues/1453
Я нашел ID кубика, нашел сообщение с кубиком по ID, пытаюсь сделать client.forward_messages этого сообщение в группу — падает.

Чтобы найти ID кубика я просто вывел все сообщения в чате через

for message in client.iter_messages(chat): print(message.id, ‘:’, message.text)
IRT, попробуй так
for message in client.iter_messages(chat): client.send_message(‘твое id’, message)

klkvr, явно косяк в библиотеке Telethon:

ERROR:telethon.client.updates:Unhandled exception on my_event_handler Traceback (most recent call last): File «/usr/local/lib/python3.8/site-packages/telethon/client/updates.py», line 431, in _dispatch_update await callback(event) File «pygram.py», line 25, in my_event_handler await client.send_message(where, dart) File «/usr/local/lib/python3.8/site-packages/telethon/client/messages.py», line 709, in send_message return await self.send_file( File «/usr/local/lib/python3.8/site-packages/telethon/client/uploads.py», line 352, in send_file raise TypeError(‘Cannot use as file’.format(file)) TypeError: Cannot use as file

Теперь можно кинуть кубик:

3. Секрет Телеграм Бросаем кубик Лучший лайфхак для принятия решения

await client.send_file(chat, types.InputMediaDice(»))

APTEMOH

IRT, как вы получаете значение после кидка?

Артемий Фамилий, никак, задачей было просто кинуть кубик в чат. Можно попробовать после кидания прочитать последнее сообщение в чате.

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

APTEMOH

IRT, не нет! 100% можно. Есть бот который кидает кубик, потом после завершения анимации пиште новое сообщение сколько выпало.

Писал логи, что бы посмотреть — пусто.
Появляется значение если самому отправить боту кубик.

Источник: qna.habr.com

Как кидать кубик в телеграмме

200 просмотров • 8 лет назад

Обзор автономного шлема виртуальной реальности HTC Vive Focus 3

Видеообзоры и дайджесты редакции

44.4K просмотров • 1 год назад

The Last Guardian

Видео по теме игр

1.2K просмотров • 6 лет назад

Arma III

Видео по теме игр

3.2K просмотров • 9 лет назад

Shin Megami Tensei: Devil Survivor Overclocked

Видео по теме игр

882 просмотров • 11 лет назад

Alien: Isolation

Видео по теме игр

351 просмотров • 9 лет назад

Sanctum 2

Видео по теме игр

1.0K просмотров • 10 лет назад

GTA V

Видео по теме игр

1.4K просмотров • 8 лет назад

Mortal Kombat: Legacy Season 2

Видео по теме игр

1.6K просмотров • 9 лет назад

Zen Pinball 2

Видео по теме игр

374 просмотров • 10 лет назад

Для работы проектов iXBT.com нужны файлы cookie и сервисы аналитики. Продолжая посещать сайты проектов, вы соглашаетесь с нашей Политикой сбора данных

Источник: ixbt.video

Подкрутка кубика в Telegram

https://t.me/mamontyatina

Итак, сразу к делу.

Подготовка

Для начала необходимо скачать и установить Python.

Теперь переходим к скачиванию и установке GitHub.

Отлично, теперь нам необходимо зарегистрироваться на Heruko.

Ставим двухфакторку (Google Authenticator).

Ищем Heruko API Token.

Копируем его и сохраняем в текстовик.

Переходим к My Telegram Org. Заходим под своим номером Telegram (код придет в Telegram).

Достаем свой API.

Копируем Api_ID и Api_Hash.

Таким образом мы получили все необходимые составляющие для запуска — установленный Python Telegram.

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

Работаем с Powershell

git clone https://gitlab.com/friendly-telegram/friendly-telegram

cd friendly-telegram

pip install -r requirements.txt

python -m friendly-telegram

После этой команды должно выскочить Разрешение на доступ к сетям. Даем доступ ко всем сетям.

Далее появится ссылка.

Настраиваем Friendly Telegram

В первых двух полях вводим все что копировали с My.Telegram.Org.

Далее вводим свой номер и нажимаем Send Code и Heruko API Tokens.

После загрузки появится окошко, с вашим Telegram ID, жмем и вводим код который придет в избранное.

Запуск

Переходим в Telegram и вводим команды:

.dlmod dice

Теперь мы можем пользоваться командой на подкрутку кубика: .dice 1 (кинуть кубик) 6 (какое число на кубике) 1 (сколько кубик хотите сразу кинуть).

.dice 1 6 1

Итоги

Скрипт работает в оффлайн режиме и нам не нужно больше выполнять каких-либо действий. Теперь мы можем в любой момент кинуть кубик с нужным числом с помощью команды.

Черное облако — Подпишись на наш второй канал! Император Ставит — 8200 рублей за два клика! Смотрящий за ₿ — Лучший канал о криптовалюте!

Источник: telegra.ph

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