Как изменить префикс команды ботов дискорда?
Как изменить префикс команды [!] на какой-то либо другой у ботов Rythm и MEE6 ?
Голосование за лучший ответ
у mee6 нельзя (если очень нужно то либо probot либо juniperbot) у rythm! prefix (символ)
Данил АнЗнаток (286) 3 года назад
А как тогда менять префикс у JuniperBot’a?
Данил Ан, в самом сайте этого бота
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.
Смена префикса команды 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)
Настройка бота на сервере в Discord
Если вы еще не добавили бота на сервер и не знаете, как правильно это сделать, прочитайте другой наш материал, где рассказывается как об официальных сайтах проектов, так и об открытых площадках, где они свободно распространяются.
Подробнее: Как добавить бота на сервер в Discord
Вариант 1: Программа для ПК
Управлять сервером более логично при помощи версии Discord для ПК, поскольку в ней вы найдете все доступные функции и упростите процесс добавления и настройки бота. Поэтому поговорим о данном варианте в первую очередь, детально разобрав каждый этап конфигурирования бота, если его изначальные параметры вас не устраивают.
Шаг 1: Использование команды помощи
Получить все необходимые сведения часто можно использованием стандартной команды помощи, поддерживаемой самим ботом. В ответном сообщении указывается список имеющихся команд и дополнительная документация, которая может пригодиться при работе с этим инструментом.
- Убедитесь в том, что необходимый бот отображается в списке участников сервера, означая его успешную авторизацию.

- Введите в любом текстовом чате, где нет ограничений на отправку сообщений, команду +help или /help в зависимости от синтаксиса, который поддерживает бот.

- После активации команды на экране появится блок с общими сведениями о том, как происходит взаимодействие с этим ботом.

- Если для получения списка других действий нужно перейти на официальный сайт, выполните это, после чего ознакомьтесь с командами и их предназначением.

Отображаемая вспомогательная информация зависит непосредственно от разработчиков ботов, поскольку они решают, что описывать пользователям. Дополнительные сведения всегда можно получить на официальном сайте или открытой площадке, откуда был загружен бот.
Шаг 2: Настройка роли
Каждому боту при авторизации присваивается своя роль с определенными правами для возможности внесения изменений на сервере, управления участниками или отправки сообщений. Некоторые боты по умолчанию не имеют требуемых прав, поэтому разработчики просят настраивать их самостоятельно, что происходит следующим образом:
- Нажмите по названию сервера для отображения его меню.

- Через появившийся список выберите пункт «Настройки сервера».

- Перейдите к разделу «Роли».

- Среди списка всех ролей найдите ту, название которой соответствует боту для настройки.

- Если не хотите тратить время на поиск необходимых прав или же бот является универсальным, присвойте ему права администратора, активировав соответствующий переключатель.

- Для обеспечения боту доступа к отправке сообщений надо включить «Отправлять сообщения» в блоке «Права текстовых каналов».

Точно таким же образом редактируются и все остальные разрешения, присутствующие в меню. Их активация осуществляется в соответствии с требованиями самого инструмента. Обычно если боту не хватает прав для выполнения конкретных действий, он отправляет личное сообщение с текстом ошибки, поэтому разобраться в предоставлении доступа не составит труда.
Шаг 3: Добавление роли боту
На определенных серверах дополнительно боту присваивается специфическая роль или же создатель предпочитает их все объединить в один список для простоты настройки. В этом случае действует такой же принцип, как и для обычных участников сервера.
- В блоке «Управление участниками» того же меню с настройками выберите раздел «Участники».

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

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

Что касается добавления новых ролей на сервер, то получить полезную информацию по этому поводу вы можете в специальной инструкции на нашем сайте, щелкнув по следующему заголовку.
При необходимости можно удалить уже существующую по умолчанию роль бота, если она вам не требуется и вы хотите присвоить ему другие права.
Шаг 4: Права бота на каналах
Обычно права бота настраиваются через роль, а разрешения на голосовых или текстовых каналах подхватываются автоматически средством синхронизации. Однако иногда требуется установка параметров в виде исключения — например, когда всем ролям запрещено посылать сообщения на сервере, но там присутствует и бот, который должен функционировать. Для этого понадобится редактировать права самого канала.
- Наведите курсор мыши на требуемый канал и кликните по появившемуся значку шестеренки.

- В новом окне через панель слева перейдите в раздел «Права доступа».

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

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

- Ознакомьтесь с правами, большинство из которых соответствуют стандартным разрешениям для ролей. Отметьте галочками те, которые хотите предоставить, а крестиками — запретить. Если выбрана косая черта, значит, право синхронизируется с выбранной ролью.

Шаг 5: Параметры на официальном сайте
В завершение этого варианта рассмотрим дополнительные настройки ботов на их официальных сайтах. Подходит это только в тех случаях, когда инструмент является универсальным, поддерживает плагины и специфические параметры, как, например, популярный MEE6, которого мы и возьмем в качестве примера.
- Откройте главную страницу сайта бота и выполните авторизацию для определения добавленных серверов, затем перейдите в раздел с плагинами.

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

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

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

Наличие определенных параметров зависит исключительно от типа бота и подхода разработчиков, и если вы не обнаружили подобных настроек, значит, для выбранного инструмента они недоступны.
Вариант 2: Мобильное приложение
Если с добавлением ботов на сервер в Discord через мобильное приложение часто возникают трудности, то вот их настройка обычно не вызывает никаких проблем, поскольку все действия по управлению стандартны и доступны как создателю, так и администратору сервера.
Шаг 1: Использование команды помощи
Начнем с получения общих сведений о взаимодействии с добавленным ботом, что производится путем ввода команды помощи. Она отображает информацию, заложенную разработчиками специально с целью рассказать юзерам больше о своем проекте.
- Перейдите на сервер и сделайте свайп влево для отображения списка участников.

- Убедитесь в том, что необходимый бот прошел авторизацию и отображается в списке «В сети».

- Вернитесь в любой текстовый чат без ограничений на отправку сообщений и введите стандартную команду, отвечающую за получение справки.

- Ознакомьтесь с появившимся на экране блоком, чтобы подробнее узнать о синтаксисе и других особенностях функционирования бота.

Шаг 2: Настройка роли
Если вы читали Вариант 1 про настройку бота через программу на компьютере, то уже знаете, что каждому из них присваивается своя роль с определенными правами. При необходимости их редактирования можно использовать и мобильное приложение, о чем и пойдет речь в следующей инструкции.
- Тапните по названию сервера для открытия его меню.

- В нем нажмите кнопку «Настройки».

- Перейдите в раздел «Роли», который находится в блоке «Управление участниками».

- Найдите роль с названием, соответствующим самому боту.

- Вы можете изменить ее имя, добавить пользовательский цвет, выбрать расположение отдельно от списка со всеми участниками, что, кстати, часто используется, или запретить упоминание данной роли.

- Ниже находится список со всеми правами. Многофункциональным ботам всегда присваивается «Администратор», чтобы у них не возникло проблем с доступом к каким-либо функциям сервера.

Все остальные присутствующие прав изменяйте по собственному желанию в соответствии с предназначением инструмента. Достаточно просто прочесть определение разрешения для понимания его действия.
Шаг 3: Добавление роли
Отдельно рассмотрим добавление роли для бота, если его стандартные права вас не устраивают или вы хотите объединить несколько участников для выполнения определенных задач на сервере. Управление ролями бота осуществляется точно так же, как бы это было и с другими пользователями.
- Снова перейдите в «Настройки сервера», но на этот раз выберите раздел «Участники».

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

- Отметьте галочкой роль, которую хотите ему присвоить. Учитывайте, что добавлять боту роль другого бота запрещено, поэтому на следующем скриншоте вы видите как неподходящие варианты помечены серым цветом.

Шаг 4: Права бота на каналах
Завершающий этап — редактирование разрешений для бота на текстовых и голосовых каналах сервера. Необходимость в реализации данной задачи появляется редко, но если все-таки возникнет, сделать это будет крайне просто, поскольку весь процесс точно такой же, как и для других участников сервера.
- Сделайте долгий тап по голосовому или текстовому каналу.

- Из появившегося списка действий выберите пункт «Настроить канал».

- Перейдите в раздел «Права доступа».

- Нажмите по пункту «Добавить роль» или «Добавить участника».

- В списке вариантов отыщите требуемого для настройки бота.

- Ознакомьтесь с перечнем прав и установите для них значения в соответствии со своими предпочтениями.

Текстовые команды
По умолчанию для команд используется префикс ! . Данная документация будет оперировать именно этим префиксом при описании команд, но он может отличаться в случае, если вы указали собственный префикс в панели управления сервером в разделе Общие.
Поддерживается использование обращения вместо префикса. Например: @JuniperBot#6999 хелп
Псевдонимы#
JuniperBot поддерживает разные языки как интерфейса (язык сообщений-ответов), так и для названий команд. Их можно настроить в панели управления сервером в разделе Общие.
Далее документация будет описывать ключи команд на русском языке, но также для каждой команды будет указана таблица соответствия ключей этой команды для каждого поддерживаемого языка.
Языки интерфейса и названий команд по умолчанию зависят от основного языка сервера если включено Сообщество. В противном случае, язык по умолчанию будет Английский.
Язык можно поменять в панели управления сервером в разделе Общие.
Список команд#
Справочник по всем командам доступен на основном сайте.