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

Всем привет! Я только вчера познакомился в javascript, т.к. мне понадобилось создать собственного бота для Discord. Мои познания в этом языке программирования крайне скудные (и вообще я гуманитарий), поэтому я смог создать лишь команды, после которых бот отправляет определённые сообщения или добавляет в чат приглашение на сервер. Я пытался создать команды, после которых бот отправляет изображение, гиф, эмодзи или различные вариации текста, а не одинаковый текст (например, игра 8ball, в которой бот будет давать советы), а также команду, после которой бот повторяет сообщение пользователя (без команды).
Возникли следующие проблемы: после добавления команд с отправкой изображения — бот просто не запускается, после добавления команд с эмодзи — бот отправляет их текстом (:thinking: — пример, но если самому ввести это в чат, отправится эмодзи), после других команд бот также не запускается)

Такой код я оставил в итоге:

const Discord = require(‘discord.js’); const client = new Discord.Client(); var prefix = ‘sh!’ client.on(«message»,(message) => < if(message.content == «sh!inv») < message.channel.createInvite() .then(inv =>message.channel.sendMessage (`https://discord.gg/$`)); > >); client.on(‘message’, message => < if(message.author === client.user) return; if(message.content.startsWith(prefix + ‘текст’)) < message.channel.sendMessage(‘отправляемый текст’); >>); client.login(‘тут токен бота’);

(Убрал похожие команды, т.к. разновидностей команд лишь две)

Доступ к каналам ботов в Discord

Сами вопросы:
Как добавить вариативность ответа бота?
Как заставить бота отправлять изображения?
Как заставить бота повторить сообщение пользователя без повторения команды?
Как заставить бота отправлять эмодзи как эмодзи, а не как текст?
+ буду очень рад советам, многое читал на англоязычных форумах, но почти везде ботов делают на питоне, а я к такому пока не готов)

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

Можно ли отправить через бота дискорд сообщение в определённый канал по названию?

zoxsan bots, впринципе этот код подходит, единственное нужно будет доработать ввод id, думаю это не очень трудно.

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

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

TaggedNorth

Начинающий программист

Для того, чтобы отправить сообщение в любой канал нужно получить его объект. На C# и Python есть специальные декораторы, которые позволяют зарегистрировать async def как функцию, которая является отдельной командой. Вместе с контекстом можно передать упоминание канала (через #).

Если мы говорим об одном и том же канале, то поиск его может занять неприлично много времени. На любом языке программирования, библиотека Discord позволяет получить объект гильдии по её ID, потом весь список текстовых каналов в гильдии, а уже через цикл for можно сверить название канала и то, что мы ищем.

⚙️ Настрой их сейчас / Канал системных сообщений и АФК в Discord

Лучше так не делать, очень долго будет работать.

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

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

Поэтому недавно я создал бот-диск с различными мем-командами и модерирующими командами. Я относительно новичок в Python, но я понимаю суть этого. Я уже создал команду, которая позволяет мне (только мне) DM пользователю через бота. Теперь я хочу попытаться сделать так, чтобы бот мог читать сообщения, отправленные обратно ему, и отправлять их мне, независимо от того, напечатаны ли они в оболочке или отправлены на определенный канал. Мне все равно, я просто хочу быть в состоянии увидеть, что отправлено на него. Я немного почитал и нашел это, и из этого я собрал это:

Это само по себе не сработало, я получаю сообщение об ошибке, в котором говорится, что «AttributeError: объект« Сообщение »не имеет атрибута« сервер »», когда я управлял ботом. Мне сказали, что для перезаписи discord.py используется не «сервер», а «гильдия». Поэтому я изменил это, чтобы сказать message.guild. Оттуда он дал мне ошибку «AttributeError: объект« Bot »не имеет атрибута« send_message »», и это примерно, насколько я там оказался. Я возился с этим и изменил вещи тут и там и добился небольшого прогресса . Я думаю. Мой новый код:

Еще по теме:  Не получается активировать дискорд нитро

Это дает мне ошибку «TypeError: on_message () отсутствует 1 обязательный позиционный аргумент: ‘message'». Это так далеко, как я получил сейчас. Буду признателен за любую помощь, как я уже сказал, я все еще немного новичок в Python, я начал использовать его только около 2 месяцев назад.

Источник: question-it.com

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