Как узнать id сообщения в дискорде
Перейти к содержимому

Как узнать id сообщения в дискорде

  • автор:

Как получить ID сервера дискорд?

Делаю бота чат менеджера для дискорда на Discord.js@v12, мне нужно получить айди сервера, и сохранить в json. Как это сделать?

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

2 комментария

Простой 2 комментария

Pavel_Matskevich @Pavel_Matskevich
Я знаю как но мне лень дискорд качать

как получить и сохранить в mysql могу сказать, json мало кто пользуется, потому что он крашится часто и стирается.
А так получить message.guild.id

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

Lordliness

Федор Масленников @Lordliness
Математик, начинающий программист Python

Если нужен конкретный сервер, то вы можете получить ID вручную. Для этого необходимо:
1) Зайти в настройки приложения Discord
2) Выбрать раздел «Расширенные»
3) Включить «Режим разработчика»
Далее заходим на сервер и жмём правой кнопкой мыши по его названию. В самом низу должна появиться кнопка «Копировать ID». Помимо этого теперь вы можете копировать ID любых чатов и пользователей.
Если вы являетесь администратором сервера, то так же можно поступить и с ролями.

P.S. Программным, так программным, ладно.
var server = message.guild.id;

Что такое Discord ID и как его узнать

Discord — популярное пространство, объединяющее геймеров из многих стран. Портал позволяет вести онлайн трансляции и переписку, общаться при помощи голосовых сообщений.

Мессенджер discord

Для добавления пользователей в друзья используется Discord ID. Статья поможет читателю решить проблему с поиском Discord Tags, личного идентификатора, который присуждается каждому после регистрации.

Личный ID

Для того чтобы стать пользователем Discord необходимо пройти регистрацию. После нее, каждому новому аккаунту присваивается цифровой айди. Личный ID представляет собой набор из 4 цифр, например, #1111. Дискорд тег помогает пользователям находить друг друга на данном ресурсе.

Многие начинающие пользователи сталкиваются с проблемой — как узнать свой Discord ID? Для начала необходимо зарегистрироваться, скачать и установить приложение для ПК или мобильного телефона. Далее требуется:

  1. Войти в приложение под своим ником и паролем.Входим в discord с помощью ника и пароля
  2. В левой нижней части страницы есть надпись с личным ником владельца канала.Видим под ником четыре цифры тега discord
  3. Сразу под именем пользователя расположен значок # и 4 цифры.

Эти цифры и являются идентификационным номером или тегом Дискорд.

Узнать свой Discord тег можно по другому алгоритму. Необходимо следующее:

  1. Войти в личный кабинет.
  2. В самом низу страницы нажать на значок «Настройки».Кликаем по значку настроек
  3. Произойдет автоматическое перенаправление на страницу настроек, где первым в списке будет подраздел «Моя учетная запись».Открываем раздел моя учетная запись и находим тег discord

В этом разделе рядом с именем пользователя проставлен личный Дискорд тег. Информация из этой вкладки необходима для привлечения на канал новых подписчиков.

Сервер

Дополнительной функцией ресурса является создание различных серверов. Server в Discord позволяет вести раздельное общение с несколькими участниками сети. Многим новичкам не ясно, как можно узнать ID сервера. Делается это следующим образом:

  1. Посетить личный кабинет, используя логин и пароль.
  2. В верхней части страницы кликнуть по иконке нужного сервера правой кнопкой мыши.
  3. Далее кликнуть по «Настройки сервера».Кликаем пкм на нужном сервере и выбираем настройки сервера
  4. Далее в выпадающем меню выбираем раздел «Виджет».Кликаем во вкладке виджет кнопку копировать id сервера

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

Сообщения

Еще один полезный способ обмена информацией на дискорд — это отправка сообщений в чате. Участники сети могут передавать друг другу ссылки на ранее написанные сообщения. Сообщения в Discord также имеют свой ID. Для того чтобы передать кому-то message ID необходимо:

  1. Войти в свой личный аккаунт.
  2. Открыть канал текстовых сообщений.
  3. Выделить требуемое сообщение. Далее нажать на значок в виде многоточия. Отобразится всплывающее меню.
  4. Далее необходимо выбрать «Скопировать ссылку на сообщение».Кликаем скопировать ссылку на сообщение
  5. В конце ссылки проставлено 18 цифровых знаков — именно они и являются ID текстового канала.Видим на экране id сообщения

Можно использовать только эти числа или всю ссылку. Оба варианта являются прямым путем к определенному сообщению.

Для использования всех функций Discord, лучше скачать официальную программу. Таким образом, значительно снижается расход трафика, и увеличивается скорость взаимодействия между пользователями. Обратите также внимание, что можно купить товары Discord для чего нужно перейти по ссылке.

Заключение

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

Идентификатор чата и корреспондента#

В Green API поддерживается два вида чатов — личный чат и групповой чат. Личный чат используется для отправки персональных сообщений получателю. Групповой чат используется для организации общения нескольких участников в одной группе. Для работы с групповыми чатами в Green API предусмотрены соответствующие методы. Перед отправкой сообщения в личный или групповой чат требуется получить идентификатор чата.

Идентификатор корреспондента#

Идентификатор корреспондента используется для идентификации получателя в исходящих сообщениях и для идентификации отправителя во входящих сообщениях, а также в любых других методах API, в которых требуется идентифицировать корреспондента. Формат идентификатора корреспондента совпадает с идентификатором личного чата.

Личный чат#

Формат идентификатора личного чата формируется по шаблону 00000000000@c.us , где вместо нулей 00000000000 требуется использовать номер телефона получателя. Телефон следует указывать полностью, с кодом страны и без пробелов. Например:

11001234567@c.us 

Групповой чат#

Идентификатор группового чата представляет собой строку вида XXXXXXXXXX-XXXXXXXXXX@g.us или XXXXXXXXXXXXXXXXX@g.us . Например:

11001234567-1581234048@g.us 120363043968066561@g.us 

Идентификатор группового чата может быть получен различными методами Green API, например:

  • Создать группу
  • Получить журнал отправленных сообщений
  • Получить журнал входящих сообщений
  • Входящее сообщение: Текст
  • и др.

Важно

Идентификатор группового чата НЕ требуется формировать самостоятельно. Он формируется системой автоматически и возвращается различными методами Green API.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the «Software»), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED «AS IS», WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. —>

Общее

Общие вопросы, касающиеся использования библиотеки, относятся сюда.

Это содержание было взято непосредственно из документации и унаследованно от discord.py . Скорее всего, в будущем оно будет переписано.

Где я могу найти примеры использования?​

Пример кода можно найти в папке примеры.

Как мне установить статус «Играет в»?​

Именованный аргумент activity может быть передан в конструкторе commands.Bot или Bot.change_presence , учитывая ссылку Activity объект.

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

Настоятельно не рекомендуется использовать Bot.change_presence или вызовы API в on_ready , поскольку это событие может вызываться много раз во время выполнения, не только один раз. Существует высокая вероятность отключения, если присутствие будет изменено сразу после подключения.

Тип статуса можно задать с помощью ActivityType . В целях оптимизации памяти некоторые действия предлагаются в уменьшенных версиях:

Собрав обе эти части информации вместе, вы получите следующее:

bot = commands.Bot(..., activity=disnake.Game(name="игру"))  # Или просмотр: activity = disnake.Activity(  name="ютуб", type=disnake.ActivityType.watching, ) bot = commands.Bot(..., activity=activity) 

Как мне отправить сообщение в определенный канал?​

Вы должны получить канал напрямую, а затем вызвать соответствующий метод. Например:

channel = bot.get_channel(12324234183172) await channel.send("привет") 

Как мне отправить сообщение в ЛС?​

Вы должны получить объект User или Member и вызвать метод send() . Например:

user = bot.get_user(381870129706958858) await user.send("��") 

Если вы отвечаете на событие, например на on_message , у вас уже есть ссылка на объект User через Message.author :

await message.author.send("��") 

Как мне получить ID отправленного сообщения?​

Метод abc.Messageable.send возвращает ссылку на Message , которое было отправлено. К ID сообщения можно получить доступ через Message.id :

message = await channel.send("хмм…") message_id = message.id 

Как мне загрузить изображение?​

Чтобы загрузить что-либо в Discord, вы должны использовать объект File .

Объект File принимает 2 параметра, файлоподобный объект (или путь к файлу) и имя файла для передачи в Discord при загрузке.

Если вы хотите загрузить изображение, это так же просто, как:

await channel.send(file=disnake.File("my_file.png")) 

Если у вас есть файлоподобный объект, вы можете сделать следующее:

with open("my_file.png", "rb") as fp: await channel.send(file=disnake.File(fp, "new_filename.png")) 

Чтобы загрузить несколько файлов, вы можете использовать именованный аргумент files вместо file :

my_files = [  disnake.File("result.zip"),  disnake.File("teaser_graph.png"), ] await channel.send(files=my_files) 

Если вы хотите загрузить что-то с URL-адреса, вам придется использовать HTTP-запрос с использованием aiohttp , а затем передайте io.BytesIO экземпляр в File вот так:

import io import aiohttp  async with aiohttp.ClientSession() as session: async with session.get(my_url) as resp: if resp.status != 200: return await channel.send("Невозможно загрузить файл. ")  data = io.BytesIO(await resp.read()) await channel.send(file=disnake.File(data, "cool_image.png")) 

Как я могу добавить реакцию на сообщение?​

Вы можете использовать метод Message.add_reaction .

Если вы хотите использовать эмодзи в юникоде, вы должны передать допустимую кодовую точку юникода в строке. В вашем коде вы можете написать это несколькими различными способами:

emoji = "\N" # или '\U0001f44d' или '��' await message.add_reaction(emoji) 

Если вы хотите использовать эмодзи, которые приходят из сообщения, вы уже получаете их кодовые точки в содержимом, не делая ничего особенного. Вы не можете отправить ‘:thumbsup:’ стиль сокращений.

Для пользовательских эмодзи вы должны передать экземпляр Emoji . Вы также можете передать строку , но если вы можете использовать указанный смайлик, вы должны быть в состоянии использовать Bot.get_emoji , чтобы получить смайлик через ID или использовать utils.find или utils.get на Bot.emojis или Guild.emojis .

Имя и ID пользовательского смайлика можно найти в клиенте, добавив слэш к :custom_emoji: . Например, отправка сообщения \:python3: приведет к .

# Если у вас уже есть ID emoji = bot.get_emoji(310177266011340803) await message.add_reaction(emoji)  # Нет ID, выполните поиск emoji = disnake.utils.get(guild.emojis, name="LUL") if emoji: await message.add_reaction(emoji)  # Если у вас есть имя и ID пользовательского смайлика: emoji = "" await message.add_reaction(emoji) 

Как мне пропустить короутайн функции плеера «after»?​

Музыкальный проигрыватель библиотеки запускается в отдельном потоке, следовательно, он не выполняется внутри короутайна. Это не означает, что невозможно вызвать короутайн в параметре after . Для этого вы должны передать вызываемый объект, который включает в себя несколько аспектов.

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

Однако эта функция возвращает Future , и чтобы действительно вызвать его, мы должны получить его результат. Собрав все это вместе, мы можем сделать следующее:

def my_after(error):  coro = some_channel.send("Песня закончена!")  fut = asyncio.run_coroutine_threadsafe(coro, bot.loop) try:  fut.result() except: # Произошла ошибка при отправке сообщения pass  voice.play(disnake.FFmpegPCMAudio(url), after=my_after) 

Как мне запустить что-то в фоновом режиме?​

Как мне получить конкретную модель?​

Есть несколько способов сделать это. Если у вас есть ID конкретной модели, вы можете использовать одну из следующих функций:

Следующее использует HTTP-запрос:

  • abc.Messageable.fetch_message
  • Bot.fetch_user
  • Bot.fetch_guilds
  • Bot.fetch_guild
  • Bot.fetch_emojis
  • Bot.fetch_emoji
  • Bot.fetch_member

Если вышеприведенные функции вам не помогают, то использование utils.find или utils.get может быть полезно для поиска конкретных моделей.

# Найдите сервер по названию guild = disnake.utils.get(bot.guilds, name="My Server")  # Обязательно проверьте, найден ли он if guild is not None: # Поиск канала по названию  channel = disnake.utils.get(guild.text_channels, name="cool-channel") 

Как мне сделать веб-запрос?​

Чтобы сделать запрос, вы должны использовать неблокирующую библиотеку. Эта библиотека уже использует и требует стороннюю библиотеку для выполнения запросов, aiohttp .

async with aiohttp.ClientSession() as session: async with session.get("http://aws.random.cat/meow") as r: if r.status == 200:  js = await r.json() 

Смотрите полную документацию по aiohttp для большей информации.

Как мне использовать локальный файл изображения для изображения в эмбеде?​

Настройка локального изображения для эмбеда может быть выполнена с помощью аргумента file в методе Embed.set_image . Он принимает File объект.

embed = disnake.Embed() embed.set_image(file=disnake.File("path/to/file.png")) await channel.send(embed=embed) 

Существует ли событие для создания записей журнала аудита?​

Поскольку Discord не отправляет эту информацию в шлюз, библиотека не может предоставить эту информацию. В настоящее время это ограничение Discord.

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

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