Как заставить моего бота Discord реагировать как на пользовательские префиксы, так и на упоминания, когда я использую функцию для получения префикса? - PullRequest
1 голос
/ 24 января 2020

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

У меня есть функция, которая извлекает пользовательский префикс из файла базы данных, но я хотел бы реализовать возможность также отвечать на упоминания, как в when_mentioned() функция. Однако я не могу передать обе функции параметру command_prefix при инициализации своего бота, а также не могу добавить функцию префикса к функции when_mentioned_or() для объединения этих двух функций. Могу ли я go сделать это? Я искал ответы в течение последнего часа и пока не нашел ничего подходящего.

1 Ответ

1 голос
/ 24 января 2020

Вы можете просто использовать функцию when_mentioned в своей собственной функции, которая получает пользовательский префикс. Вы можете вызвать его с теми же bot и msg, которые вы передали, и он вернет список форматов упоминаний (для псевдонимов и без них), которые вы можете использовать . Затем вы можете вернуть этот список с добавленным вашим пользовательским префиксом.

В качестве альтернативы, вы можете просто напрямую вернуть список с вашим пользовательским префиксом bot.user.mention (см. Документацию для Bot.user и ClientUser.mention) и формат псевдонима для этого упоминания (<@!{user_ID}> вместо <@{user_ID}>; см. Документацию по ClientUser.id).

...