Я чувствую, что перепробовал все. В настоящее время моего бота зовут «TestApp», и я хотел бы изменить его на что-то другое. Должен ли я удалить его полностью, создайте совершенно новое приложение внутри https://discordapp.com/developers/, присвоить ему правильное имя, а затем добавить туда бота? Затем, очевидно, измените токен в моем приложении Discord.js и повторно пригласите бота на канал.
- Измените имя приложения на https://discordapp.com/developers/
- msg.guild.members.get(bot.user.id).setNickname(«NEWNAMEHERE»)
- Discord.Client.setUsername(«NEWNAMEHERE»)
Дайте мне знать, если вы действительно можете изменить имя пользователя / ник бота Discord, не удаляя его и не перезапуская конфигурацию. Я не могу найти этот ответ нигде.
MortenMoulder 24 Окт 2017 в 00:33
3 ответа
Лучший ответ
Ну, кто знал, вы можете отправить запрос PATCH на их сервер с вашей новой информацией (вы также можете изменить аватар следующим образом):
How To Find Your Discord ID (Easy Tutorial)
Это можно найти в их документации здесь.
MortenMoulder 23 Окт 2017 в 21:52
const Discord = require(‘discord.js’) const client = new Discord.Client() client.on(‘message’, (msg) =>< if(msg.author.bot || msg.channel.type == «dm» || msg.channel.type== ‘group’)return if(msg.content.startsWith(prefix) != true)return if(msg.content.startsWith(`$nick`)) < if(msg.author.id != ownerID) msg.guild.members.get(client.user.id).setNickname(/*’Nickname goes here’*/) >>)
Rickey 15 Июл 2019 в 02:50
С новой Dashboard от Discord, на самом деле очень легко изменить имя пользователя, используя ЛЮБОЙ язык!
На странице ваших приложений, если вы перейдете на вкладку «Бот», вы можете изменить как пользовательский аватар, так и имя пользователя. После того, как вы нажмете «сохранить изменения», будет применено новое имя пользователя и аватар для Discord. Как и раньше, вы не заметите изменения сразу, но это произойдет.
Начиная с Discord.js v11.2. Когда вы создаете новый бот-клиент с использованием Discord.js, вы можете использовать .setUsername на новом клиенте, чтобы изменить имя вместо отправки запроса в API. Вы не заметите изменения сразу, но это произойдет. Чтобы переименовать приложение на странице разработчиков, вам просто нужно нажать на само приложение.
Вот пример метода входа в систему для изменения имени: как указано в документации.
const Discord = require(‘discord.js’); const bot = new Discord.Client(); bot.on(‘ready’, function() < bot.user.setUsername(«MyNewUsername»); >bot.login(«token»);
Или, если у вас есть команда eval, вы можете просто запустить ниже. Если ваш бот-клиент имеет имя, отличное от «бот», используйте его.
bot.user.setUsername(«MyNewUsername»);
Источник: question-it.com
How to get your Discord ID 2022
Discord ID — как найти и изменить свой идентификатор в Discord
Discord ID — это уникальный идентификатор, который присваивается каждому пользователю Discord при регистрации. Он используется для идентификации пользователя, а также для взаимодействия с API Discord.
Discord ID состоит из двух частей: числовая часть и хеш-часть. Числовая часть — это идентификатор пользователя, а хеш-часть — это уникальный код, используемый для проверки подлинности пользователя.
Пример кода для получения Discord ID пользователя:
В этом примере мы инициализируем клиента Discord и определяем два события: on_ready и on_message. Функция on_ready вызывается, когда клиент успешно подключается к Discord, а функция on_message вызывается каждый раз, когда пользователь отправляет сообщение в чат.
В функции on_message мы проверяем, не было ли сообщение отправлено ботом, и если нет, то мы проверяем, начинается ли сообщение со строки «!myid». Если да, то мы получаем Discord ID пользователя из сообщения и отправляем его обратно в чат.
Для получения Discord ID мы использовали функцию message.author.id, которая возвращает числовую часть Discord ID автора сообщения.
Таким образом, Discord ID — это важный атрибут, который может использоваться для идентификации пользователей и взаимодействия с API Discord. Он может быть получен с помощью методов клиента Discord, например, message.author.id в нашем примере кода.
Источник: progery.ru
Возможно ли изменить название канала по его ID в дискорд (без использования имени)?
Но в моем случае «ИМЯ» канала будет динамически меняться.
Как решить, не понимаю.
БЫСТРОЕ РЕШЕНИЕ, чтобы не искать в куче комментов жаркого обсуждения.
const guild = bot.guilds.cache.get(«id_гильдии») const channel = guild.channels.cache.find(channel => channel.id === «id_канала») channel.setName(«members»)
Очень важно отправлять ID типа STRING. Т.е. именно в кавычках )
- Вопрос задан более двух лет назад
- 1092 просмотра
Комментировать
Решения вопроса 1
Javascript-разработчик
Возможно ли отправить сообщение на ID канала в дискорд (без использования имени)?
да.
используйте:
client.channels.cache.get(‘id_канала’).send(‘сообщение’);
метод .send также можно заменить на любой другой метод.
Ответ написан более двух лет назад
Нравится 1 36 комментариев
Подскажите, тогда еще один момент. ГДЕ ВЫ ЭТО НАШЛИ?
Этот дурацкий док у API дискорда. я вообще не понимаю как его читать.
ГДЕ ВЫ ЭТО НАШЛИ?
опыт даёт о себе знать.
Этот дурацкий док у API дискорда
доком является сборник всех возможностей/методов/функций — его читать ненужно.
читайте руководства, по типу https://discordjs.guide/ — в них очень много полезной информации.
в основном, решение вашей проблемы крылось в переходе между 11’й версией и 12’й
Александр, Обязательно приму к сведенью! Огромное вам спасибо.
А то бывает тыкаешься между описанием методов и классов. и ничего не понятно. ХЗ кто и для чего его писал.
Олег, рад был помочь.
client.guilds.get(GUILD_ID).channels.cache.get(746324211768885318).setName(«Проба»); ^ TypeError: Cannot read property ‘get’ of undefined
Видимо надо пойти еще почитать )
Олег, вы хотите реализовать отправку сообщения, в определённый канал на сервере? если да, то для этого вам не нужно указывать ID гильдии — вы можете заменить client.guilds.get на message.guild
Мне нужно поменять НАЗВАНИЕ канала (channel).
За это отвечает setName
Если я пишу его старое имя и ставлю .setName — работает.
Если пытаюсь по ID — нифига )
только ща понял, что тема то не правильно написана. дебила я кусок
Олег, попробуйте такой вариант:
const channel = member.guild.channels.cache.find(channel => channel.name === «название_канала»); // нашли канал по его названию channel.setName(«новое_название») // поменяли название канала
Александр, Именно так работает сейчас.
Этот вариант не подходит, т.к. если название канала меняется динамически, то подсовывать вовремя новый — большая проблема.
Сейчас я это решаю через JSON или MySQL. но нарываюсь на рассинхрон данных 1-2 раза в сутки. Мне бы менять имя у ID канала )
Олег, для этого есть прекрасный метод:
const channel = member.guild.channels.cache.find(channel => channel.id === «id_канала»); // нашли канал по его ID channel.setName(«новое_название») // поменяли название канала
Александр, А «member» мы через что инициализируем?
member= client.guilds.get(GUILD_ID);
Разве так? Ибо не работает
Олег, замените member на message
const guild = client.guilds.get(GUILD_ID); const channel = guild.channels.cache.find(channel => channel.id === 746324211768885318);
Выбивает ошибку
TypeError: Cannot read property ‘find’ of undefined
Олег, интересно вы заменили member на message.
Александр, GUILD ID тогда где брать ? ) Его же надо указать для отправки в обязательном порядке
Это я про.
замените member на message
Олег, я не могу понять, что вы хотите сделать.
смену названия канала на ТЕКУЩЕМ сервере, или на ДРУГОМ, найдя его по ID?
))))))
ОК.
Давайте еще раз расскажу.
У меня есть динамические данные которые нужно выводить в НАЗВАНИИ КАНАЛА.
Например вот тут:
Сейчас я могу менять название канала через связку
const guild = client.guilds.get(GUILD_ID); const channel = guild.channels.find(channel => CHANNEL_NAME === channel.name); channel.setName(«РАБОТАЕТ»);
Но это плохой вариант. Т.к. CHANNEL_NAME — в данном коде должен быть === имени канала в дискорд.
А он, строкой ниже уже изменился. Понимаете?
Теперь мне нужно (откуда то) достать новое название канала (а дискорд их не выдает), и подставить на место CHANNEL_NAME.
И так по циклу.
Дак вот я хочу уйти от NAME и перейти на ID. Ибо ID всегда статичный.
Чтобы команда выполняла логику «Смени название канала, ID которого = . «
Олег, ну так вы же сами мне отправили правильный вариант:
const guild = client.guilds.get(GUILD_ID); const channel = guild.channels.cache.find(channel => channel.id === 746324211768885318);
поиск канала по его ID, вот и отталкивайтесь от этого.
Александр, он не работает ) Правильный вариант )
TypeError: Cannot read property ‘find’ of undefined
Олег, ну так может быть потому, что вы не добавили .cache до get ?)
const guild = client.guilds.cache.get(GUILD_ID);
const guild = client.guilds.cache.get(GUILD_ID); ^ TypeError: Cannot read property ‘get’ of undefined
Неа. Дискорд так не считает.
Нет похоже у cache ни каких параметров вообще.
Олег, да нет, как раз у cache есть параметры.
проблема с вашей стороны.
меня интересует, как вы используете эти константы (guild, channel)? поведайте.
Александр, Там все очень просто и по инструкции
Код, который я сейчас пробую (тот что не работает).
const = require(‘./configOnline.json’); var client = new Discord.Client(); client.on(‘ready’, () => < const guild = client.guilds.cache.get(GUILD_ID); const channel = guild.channels.cache.find(channel =>channel.id === 746324211768885318); channel.setName(«TEST»); >); client.login(TOKEN);
И вот что сейчас исправно работает, но иногда глючит.
const = require(‘./configOnline.json’); var client = new Discord.Client(); client.on(‘ready’, () => < const guild = client.guilds.get(GUILD_ID); const channel = guild.channels.find(channel =>CHANNEL_NAME === channel.name); channel.setName(CHANNEL_NAME + » Мои данные»); >); client.login(TOKEN);
TOKEN, GUILD_ID — соответственно константы выданные ботом Дискорд
Олег, даже не знаю, что вам ответить.
по идее, код не должен работать без cache, если стоит v12 discord.js
может быть, у вас v11, или какая-то другая?
Источник: qna.habr.com