Я работаю над ботом Discord, используя discord.py==2.7.0a5350+g8f2cb607.
Этот бот развернут на одном сервере и не будет развернут где-либо еще.
Моя функция on_ready() выглядит следующим образом:
@bot.event
async def on_ready():
print(f"Connected as {bot.user}")
guild_id = discord.Object(id=GUILD_ID)
synced = await bot.tree.sync(guild=guild_id)
print(f"{len(synced)} commands synced on server {GUILD_ID}.")
Когда я запускаю его, я получаю следующие журналы:
PS D:\MyBot> py main.py
2025-11-11 19:02:49 INFO discord.client logging in using static token
2025-11-11 19:02:50 INFO discord.gateway Shard ID None has connected to Gateway (Session ID: some_session_id).
Connected as My-Bot#1111
0 commands synced on server My(correct)-Guild-ID
Поскольку этот бот предназначен только для одного сервера, я использую команду .sync с идентификатором сервера, поэтому она не является общей и не должна занимать час для синхронизации новых команд.
Проблема в том, что это не работает, и мои новые команды никогда не отображаются.
Мне приходится менять on_ready() каждый раз, когда я создаю новую команду.
/>Вот пример моих команд:
@bot.tree.command(name='leave', description='Leave vc')
async def leave_call(interaction: discord.Interaction):
vc = discord.utils.get(bot.voice_clients, guild=interaction.guild)
if vc and vc.is_connected():
if isinstance(vc, voice_recv.VoiceRecvClient):
vc.stop_listening()
await vc.disconnect()
await interaction.response.send_message("Disconnected.", ephemeral=True)
else:
await interaction.response.send_message("Not connected.")
Я не совсем понимаю, в чем проблема, я пытался искать здесь, в документе Discord.py, даже с несколькими IA (ChatGPT, Copilot, Perplexity и Mistral), но ничего не нашел.
Я создал другого бота много лет назад, но не помню, как я сделал команды доступными мгновенно.
Проблема решена:
Чтобы все работало нормально, мне просто нужно было установить мой guild_id для моих команд, поэтому они обязательны только для этого сервера:
@bot.tree.command(guild=guild_id, name='leave', description='Leave vc')
async def leave_call(interaction: discord.Interaction):
vc = discord.utils.get(bot.voice_clients, guild=interaction.guild)
if vc and vc.is_connected():
if isinstance(vc, voice_recv.VoiceRecvClient):
vc.stop_listening()
await vc.disconnect()
await interaction.response.send_message("Disconnected.", ephemeral=True)
else:
await interaction.response.send_message("Not connected.")
Теперь он работает мгновенно, и журналы возвращают хорошее значение:
PS D:\MyBot> py main.py
2025-11-11 19:02:49 INFO discord.client logging in using static token
2025-11-11 19:02:50 INFO discord.gateway Shard ID None has connected to Gateway (Session ID: some_session_id).
Connected as My-Bot#1111
7 commands synced on server My(correct)-Guild-ID
Подробнее здесь: https://stackoverflow.com/questions/798 ... -bot-is-up
Команда Discord не отображается, когда бот включен ⇐ Python
Программы на Python
-
Anonymous
1762999219
Anonymous
Я работаю над ботом Discord, используя discord.py==2.7.0a5350+g8f2cb607.
Этот бот развернут на одном сервере и не будет развернут где-либо еще.
Моя функция on_ready() выглядит следующим образом:
@bot.event
async def on_ready():
print(f"Connected as {bot.user}")
guild_id = discord.Object(id=GUILD_ID)
synced = await bot.tree.sync(guild=guild_id)
print(f"{len(synced)} commands synced on server {GUILD_ID}.")
Когда я запускаю его, я получаю следующие журналы:
PS D:\MyBot> py main.py
2025-11-11 19:02:49 INFO discord.client logging in using static token
2025-11-11 19:02:50 INFO discord.gateway Shard ID None has connected to Gateway (Session ID: some_session_id).
Connected as My-Bot#1111
0 commands synced on server My(correct)-Guild-ID
Поскольку этот бот предназначен только для одного сервера, я использую команду .sync с идентификатором сервера, поэтому она не является общей и не должна занимать час для синхронизации новых команд.
Проблема в том, что это не работает, и мои новые команды никогда не отображаются.
Мне приходится менять on_ready() каждый раз, когда я создаю новую команду.
/>Вот пример моих команд:
@bot.tree.command(name='leave', description='Leave vc')
async def leave_call(interaction: discord.Interaction):
vc = discord.utils.get(bot.voice_clients, guild=interaction.guild)
if vc and vc.is_connected():
if isinstance(vc, voice_recv.VoiceRecvClient):
vc.stop_listening()
await vc.disconnect()
await interaction.response.send_message("Disconnected.", ephemeral=True)
else:
await interaction.response.send_message("Not connected.")
Я не совсем понимаю, в чем проблема, я пытался искать здесь, в документе Discord.py, даже с несколькими IA (ChatGPT, Copilot, Perplexity и Mistral), но ничего не нашел.
Я создал другого бота много лет назад, но не помню, как я сделал команды доступными мгновенно.
[b]Проблема решена[/b]:
Чтобы все работало нормально, мне просто нужно было установить мой guild_id для моих команд, поэтому они обязательны только для этого сервера:
@bot.tree.command(guild=guild_id, name='leave', description='Leave vc')
async def leave_call(interaction: discord.Interaction):
vc = discord.utils.get(bot.voice_clients, guild=interaction.guild)
if vc and vc.is_connected():
if isinstance(vc, voice_recv.VoiceRecvClient):
vc.stop_listening()
await vc.disconnect()
await interaction.response.send_message("Disconnected.", ephemeral=True)
else:
await interaction.response.send_message("Not connected.")
Теперь он работает мгновенно, и журналы возвращают хорошее значение:
PS D:\MyBot> py main.py
2025-11-11 19:02:49 INFO discord.client logging in using static token
2025-11-11 19:02:50 INFO discord.gateway Shard ID None has connected to Gateway (Session ID: some_session_id).
Connected as My-Bot#1111
7 commands synced on server My(correct)-Guild-ID
Подробнее здесь: [url]https://stackoverflow.com/questions/79816994/discord-command-not-showing-when-bot-is-up[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия