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

Как изменить префикс бота в дискорде

  • автор:

Смена префикса команды discord.py

Как я могу поменять префикс бота через команду в discord.py? Пробовал использовать этот код, но говорит что не найдена команда setprefix, понимаю что она идёт после bot.run но в коде так и было. Если ставлю её перед bot.run и меняю @commands.command на @bot.command то выдаёт ошибку str object has no attribute guild. Также не понимаю зачем в переменной bot вторым аргументом пишутся три точки. Помогите пожалуйста.

import discord from discord.ext import commands custom_prefixes = <> default_prefixes = ['.'] async def determine_prefix(bot, message): guild = message.guild if guild: return custom_prefixes.get(guild.id, default_prefixes) else: return default_prefixes bot = commands.Bot(command_prefix = determine_prefix, . ) bot.run(‘токен’) @commands.command() @commands.guild_only() async def setprefix(self, ctx, *, prefixes=""): custom_prefixes[ctx.guild.id] = prefixes.split() or default_prefixes await ctx.send("Prefixes set!") 

Отслеживать
задан 13 мая 2020 в 8:36
miha barinov miha barinov
31 1 1 серебряный знак 7 7 бронзовых знаков

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

Почему вы не сделаете через БД, это удобнее и в будущем если ваш бот будет на многих серверах то список не справиться с таким объемом информации

И прочитайте документацию пожалуйста

Сначала когда бот заходит на сервер в БД заноситься дефолтний префикс

@commands.Cog.listener() async def on_guild_join(self, guild): cursor.execute(f'INSERT INTO public."prefixDB" (guild_id, prefix) VALUES (, \'дефолтний префикс\');') conn.commit() 

Также когда бот выходит с сервера мы удаляем сервер с БД

 @commands.Cog.listener() async def on_guild_remove(self, guild): cursor.execute(f'DELETE FROM public."prefixDB" WHERE guild_id = ;') conn.commit() 

Здесь вы заносите перфикс сервера в БД.

@commands.command() @commands.check(is_owner_guild) async def prefix(self, ctx, prefix): guildid = ctx.guild.id cursor.execute(f'UPDATE public."prefixDB" SET prefix=\'\' WHERE guild_id = \'\';')# здесь вы обновляете префикс сервера conn.commit() emb = discord.Embed(title='Выполнено успешно!', description=f'Префикс сервера изменений на "** **"', colour= discord.Color.green(), timestamp= ctx.message.created_at) emb.set_footer(text=ctx.message.author) await ctx.send(embed= emb) @prefix.error async def prefix_error(self, ctx, error): if isinstance(error, commands.CheckFailure): emb = discord.Embed(timestamp= ctx.message.created_at, title='Ошибка. ', colour=discord.Color.red(), description='Эту команду может использовать только владелец сервера') emb.set_footer(text= ctx.message.author) await ctx.channel.purge(limit=1) await ctx.send(embed=emb) 

После просто через функцию забираете его:

def get_prefix(bot, message): guildid = message.guild.id #айди сервера где была визвана команда prefix cursor.execute(f'SELECT prefix FROM public."prefixDB" WHERE guild_id = \'\';') prefix = cursor.fetchone() conn.commit() return prefix bot =commands.Bot(command_prefix = get_prefix, help_command=None) 

Как изменить префикс команды ботов дискорда?

Как изменить префикс команды [!] на какой-то либо другой у ботов Rythm и MEE6 ?

Голосование за лучший ответ

у mee6 нельзя (если очень нужно то либо probot либо juniperbot) у rythm! prefix (символ)

Данил АнЗнаток (297) 3 года назад

А как тогда менять префикс у JuniperBot’a?

Данил Ан, в самом сайте этого бота

Похожие вопросы

Ваш браузер устарел

Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.

Вопрос насчет префикса discord.js?

Приветствую, я хочу сделать так, чтобы мой бот реагировал на различные префиксы. Допустим сейчас у меня стоит префикс «Бот«, но я хочу чтобы он реагировал еще и на префиксы: «ботик», «бот,».
То что я писал в конфиге бота, а конкретно:

«prefix»: [ «Бот», «ботик», «ботяра», «бот,» ] — это не помогло, бот перестал реагировать на изначальный префикс «Бот».

Вот то, для чего я пытаюсь влепить новые префиксы:

bot.on(«message», (message) => if (message.content.startsWith(prefix)) message.reply(botChoice[Math.floor(Math.random() * botChoice.length)]);
>
Надеюсь кто-нибудь знает ответ на мой вопрос 🙂

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

Комментировать
Решения вопроса 1
Stockholm Syndrome @StockholmSyndrome

const prefixes = [ "Бот", "ботик", "ботяра", "бот," ]; bot.on("message", (message) => < if (prefixes.some((prefix) =>message.content.startsWith(prefix))) < message.reply(botChoice[Math.floor(Math.random() * botChoice.length)]); >>);

Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос

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

node.js

  • Node.js
  • +1 ещё

Почему не удается подгрузить картинки на страницу через Node.js (и Express)?

  • 1 подписчик
  • 5 часов назад
  • 14 просмотров

Вопросы с меткой [discord]

Для использования с Discord API, который предоставляет интерфейс, позволяющий программировать ботов для служб обмена сообщениями Discord.

34 вопроса
Конкурсные
Неотвеченные

  • Конкурсные 0
  • Неотвеченные
  • Цитируемые
  • Рейтинг
  • Неотвеченные (мои метки)

3k показов

discord.py отправка сообщения без ввода команды в канале

у меня есть код: import discord from discord.ext import commands Bot = commands.Bot(command_prefix=»») @Bot.command(pass_context=True) async def go_say(ctx): say_at_me = input(«.

задан 15 апр 2021 в 16:38

Список юзеров на сервере

Всем привет! Решил сделать генератор таблицы юзеров на сервере. Начал с обычного получения ников юзеров. @client.command() async def members(ctx): guild = ctx.guild for member in guild.member.

задан 3 дек 2020 в 17:51
580 показов

Как проверить указанные аргументы discord py?

Я перерыл весь интернет, но не нашел нужного мне ответа. Простую проверку аргументов я знаю как делать. Но, как сделать проверку аргументов, когда их очень много и они разного типа, или указан ли id .

задан 1 мая 2022 в 15:38
8k показов

[discord.py]Удаление сообщение после выполнениыя команды

Поменялась версия и теперь не понимаю как удалить сообщение после выполнения команды client.delete_message() Раньше было так, но теперь поменялась команда. await ctx.message.delete(ctx) Вроде так, .

задан 11 дек 2019 в 19:40
1k показов

Создать кнопку на disnake

меня очень давно волнует вопрос как сделать кнопку на disnake, я слышал что это disnake.ui. Всё перечитал, не понял ничего. Буду благодарен.

задан 1 янв 2023 в 14:30
3k показов

авто выдача роли и приветствие Discord.py

Написал код. должен писать приветствие и выдавать роль. так же сделал пометки мне в батнике пишет действия которые написаны в принте. и при выполнение действия выдачи роли должно, мне не роль не .

задан 6 мая 2021 в 11:07
680 показов

discord.py Копирование ID всех участников сервера

Я делал функцию для своего бота копирующую ID всех участников сервера, однако копирует лишь один ID. В чем проблема? По циклу же вроде всё сделано правильно. Вот код: @client.command(aliases=[‘id_copy’.

задан 5 янв 2022 в 7:07
3k показов

Как считать время проведенное в голосовом канале? | discord.py

У меня есть код, который реагирует на вход в голосовой, и выход из него. При входе пишется «1», при выходе «0». Как мне его изменить, чтобы он еще и считал время проведенное в .

задан 21 дек 2020 в 11:50
6k показов

Смена префикса команды discord.py

Как я могу поменять префикс бота через команду в discord.py? Пробовал использовать этот код, но говорит что не найдена команда setprefix, понимаю что она идёт после bot.run но в коде так и было. Если .

задан 13 мая 2020 в 8:36
6k показов

discord.py и youtube_dl воспроизведение аудио без скачки

как можно воспроизвести аудио в боте при помощи библиотеки youtube_dl, но без установки самого аудио в директорию бота (из-за этой установки невозможно запустить стримы с музыкой по типу lo-fi) и если .

задан 6 дек 2020 в 13:33
7k показов

Логи дискорд боту

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

задан 30 янв 2021 в 12:30
149 показов

python перемещение по mp3 с помощью BytesIO.seek

Загружаю в io.BytesIO mp3-файл, и из этого io.BytesIO потом его проигрываю Если его надо проиграть не с начала, а с определенного момента времени, я так понимаю, надо воспользоваться методом seek .

задан 18 ноя 2020 в 16:18
555 показов

Как установить лимит для использования команды одним пользователем discord.py

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

задан 8 ноя 2020 в 10:27
215 показов

Помогите с записью JSON файла

Я занимаюсь разработкой бота на discord.js, я пытаюсь дополнить файл json, но у меня не выходит Мой код: text = <[message.author.id]:<"text":[args.slice(1).join(' ');]>> fs.appendFile(.

задан 26 сен 2020 в 23:08
2k показов

Приложение не отвечает «discord.py» py-cord

Сам бот чистит сообщения в канале без проблем, но одновременно пишет «Приложение не отвечает» Ошибок никаких не вылазит. @bot.slash_command(name=’clear’, description=’Очистить сообщения в .

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

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