Как понять что сообщение в дискорде прочитали

Тут наглядно видно о чём вопрос. На двух изображениях разные сообщения, но на первой фотке сообщения как-бы «соединены», а на второй идут отдельно. Так сколько нужно ждать чтобы шли по отдельности? Знаю, вопрос очень тупой, но мне интересно.

Технологии Программирование +3
18 октября 2022 ·
IT аутсорсинг для малого и среднего бизнеса. · 19 окт 2022 · socialit.ru

В Интернете пишут, что между сообщениями должно пройти минимум 7 минут. Проверил сейчас у себя, похоже на правду.

Много пользователей просят сократить это время, потому что объединение сообщений бывает не очень удобным. Но пока что остается что-то около 7 минут.

Источник: ya.ru

Как я могу получить количество сообщений, отправленных пользователем на сервере Discord, без discord.py?

Используя функцию поиска Discord вручную, вы можете ввести что-то вроде from:user#3456 и он покажет вам, сколько сообщений они отправили на сервер (по крайней мере, сообщений, к которым у вас есть доступ).

Мне сказали, что невозможно получить эту информацию через discord.py, но действительно ли вообще нет способа получить эти данные? Придется ли мне прибегать к инструменту для очистки веб-страниц?

Для ясности, я уже смотрел на это. Я ищу способ получить доступ к функции поиска, которая уже есть в Discord.

user13010844 26 авг ’20 в 04:11 2020-08-26 04:11
2020-08-26 04:11

2 ответа

На самом деле это возможно с помощью discord.TextChannel.history . Вот пример:

Еще по теме:  Как отправить другу файл большого размера в дискорд

userMessages = [] userID = 1234567890 # Change this to the ID of the user you are looking messages for channelID = 1234567890 # Change this to the channel ID of the messages you want to check for channel = client.get_channel(channelID) user = discord.utils.find(lambda m: m.id== userID, channel.guild.members) async for message in channel.history(): if message.author == user: userMessages.append(message.content) print(len(userMessages)) # Outputs total user messages

Убедитесь, что вы заменили 1234567890 с соответствующими идентификаторами.

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

user11229214 26 авг ’20 в 04:26 2020-08-26 04:26
2020-08-26 04:26

Я решил это хакерским способом, выполнив поиск с помощью from:username запрос в приложении Discord, просмотр http-запроса с помощью Chrome DevTools и, наконец, воссоздание запроса с помощью модуля python requests .

В Discord вы можете открыть DevTools с помощью ctrl+shift+i в Windows или Linux, command+option+i на Mac.

В DevTools перейдите к Network таб.

Я предлагаю заполнить поисковый запрос (но не нажимать ввод), затем открыть инструменты разработчика, затем нажать ввод в поиске. В противном случае по мере ввода будет появляться множество HTTP-запросов.

Затем вы найдете запрос с именем, которое выглядит как «search? Author_id=1234567890». Если вы нажмете на этот запрос, вы увидите детали, необходимые для его воссоздания.

Ключевые части http-запроса, которые вам нужно использовать, — это Request Headers раздел и Request URL под General раздел, все в Headers вкладка, которая появляется при первом нажатии на запрос, а Response вкладку, чтобы увидеть, как будет выглядеть ваш ответ.

В accept-encoding атрибут заголовков запроса включает br , но это, кажется, смешивает результат. Сохраняя это просто gzip, deflate работает для меня.

Еще по теме:  Какой дискорд у компота

С использованием requests модуль python, это должно быть довольно легко настроить. Пока br не указан в accepted-encoding , вы сможете использовать json() метод requests , а для конкретной проблемы поиска общего количества сообщений, отправленных пользователем (чей идентификатор вы должны вставить в URL-адрес запроса), он просто доступен с помощью my_request_variable.json()[‘total_results’] .

Главное, на что нужно обратить внимание, — это authorization заголовок запроса. Это уникально для пользователя (вас, если вы не делаете все это из чужой учетной записи), и, к сожалению, вы не можете заменить его на токен бота Discord.

Источник: stackru.com

Как проверить в лс ли сообщение discord.py?

Я хочу, чтобы при сообщении бот проверял в лс ли ему отправили это сообщение. К примеру, отправляют «привет» в лс боту, и он отвечает тоже «Привет». А если не в лс, а на каких-либо серверах, то он просто не реагирует. Можно ли так сделать?

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

Решения вопроса 0

Ответы на вопрос 1

Использовать свойство channel.type. Для команд также можно использовать декоратор commands.dm_only.

Ответ написан более года назад

Нравится Комментировать

Ваш ответ на вопрос

Войдите, чтобы написать ответ

discord-py

  • discord.py

Почему бот не может найти профиль игрока?

  • 1 подписчик
  • 05 июн.
  • 40 просмотров

discord-py

  • discord.py

Возможно ли как-то дискорд-боту выдать высшую роль или ещё выше участнику сервера?

  • 1 подписчик
  • 04 июн.
  • 39 просмотров

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

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