#python #python-3.x #api #python-requests #discord
Вопрос:
я пытаюсь использовать discord api в python с запросами, и прямо сейчас я пытаюсь создать канал
это мой код
import requests
API_URL = "https://discord.com/api/v9"
res = requests.post(f"{API_URL}/guilds/{guild_id}/channels", data={"name": "my channel name", "permission_overwrites": [], "type": 0}, headers={"authorization": f"Bot {the_bot_token}", "Content-Type": "application/json"})
print(res.text)
но это дает мне такой ответ:
{"message": "400: Bad Request", "code": 0}
кто-нибудь может мне помочь?
Комментарии:
1. Вы рассматривали возможность использования discord.py ? Как библиотека, она отлично подходит для упаковки api в асинхронные функции python и, как правило, хорошо выполнена. К сожалению, его поддержка заканчивается, но с выходом новой версии API в следующем году все боты discord придется в значительной степени переписать :/
2. да, я знаю discord.py но мое намерение состояло в том, чтобы иметь возможность создать бота, не используя его
3. Роджер — я знаю, что подобные комментарии часто действуют мне на нервы, поэтому я понимаю — к сожалению, я не знаю ответа, но я бы рассмотрел ваш запрос с помощью тонкой зубчатой расчески. Неуместно : или пробел может быть разницей между анализируемым допустимым запросом и неправильным форматом
Ответ №1:
Ну, ваш код неверен, вы перепутали данные запросов
Вы должны заменить данные в json
Вот рабочий код
import requests
API_URL = "https://discord.com/api/v9"
res = requests.post(f"{API_URL}/guilds/{guild_id}/channels", json={"name": "my channel name", "permission_overwrites": [], "type": 0}, headers={"authorization": f"Bot {the_bot_token}", "Content-Type": "application/json"})
print(res.text)