Я пытаюсь отправить сообщение на определенный сервер, когда получаю запрос POST с данными JSON из другого веб-приложения, но получаю ошибку aiohttp.client_Exceptions.InvalidUrlClientError. Я не могу это проверить, потому что сайт еще не запущен.
intents = discord.Intents.default()
intents.message_content = True
client = discord.Client(intents=intents)
@client.event
async def on_ready():
channel = client.get_channel('URL')
await channel.send('{} has connected to Discord!'.format(client.user))
async def main():
async with aiohttp.ClientSession() as session:
# #new-subscriptions
async with session.get('URL') as response:
# Get JSON data
data = await response.json()
# If response is between 200-399, and is therefore valid
if response:
# Send message to #new_subscriptions channel
channel = client.get_channel(123456789)
await channel.send('{} has subscribed to the {} plan'.format(data['name'], data['plan']))
asyncio.run(main())
client.run(DISCORD_TOKEN, reconnect=True)
Изменить: у меня есть еще один вариант, в котором размещение частей aiohttp внутри on_ready() кажется работает, но опять же у меня нет действующего URL-адреса для тестирования. это с:
intents = discord.Intents.default()
intents.message_content = True
client = discord.Client(intents=intents)
@client.event
async def on_ready():
# Send message to #general channel
channel = client.get_channel(ids['general'])
await channel.send('{} has connected to Discord!'.format(client.user))
# HTTP Session
async with aiohttp.ClientSession() as session:
async with session.get(URL) as response:
# Get JSON data
data = await response.json()
# If response is between 200-399, and is therefore valid
if response:
channel = client.get_channel(ID)
await channel.send('{} has subscribed to the {} plan for ${}'.format(data['name'], data['plan'], data['price']))
client.run(DISCORD_TOKEN, reconnect=True)
Редактирование 2: удалось запустить фиктивный сервер с aiohttp.web. Сообщение отправляется на мой сервер Discord, но только сначала, поскольку я не знаю, как обновить URL-адрес во время его работы.
from aiohttp import web
routes = web.RouteTableDef()
@routes.get('/discord')
async def discord(request):
data = {
...
}
return web.json_response(data)
app = web.Application()
app.add_routes(routes)
web.run_app(app)
Подробнее здесь: https://stackoverflow.com/questions/791 ... ng-pythons
Как дождаться запроса POST перед отправкой сообщения в Discord, используя aiohttp Python ⇐ Python
Программы на Python
1730295819
Anonymous
Я пытаюсь отправить сообщение на определенный сервер, когда получаю запрос POST с данными JSON из другого веб-приложения, но получаю ошибку aiohttp.client_Exceptions.InvalidUrlClientError. Я не могу это проверить, потому что сайт еще не запущен.
intents = discord.Intents.default()
intents.message_content = True
client = discord.Client(intents=intents)
@client.event
async def on_ready():
channel = client.get_channel('URL')
await channel.send('{} has connected to Discord!'.format(client.user))
async def main():
async with aiohttp.ClientSession() as session:
# #new-subscriptions
async with session.get('URL') as response:
# Get JSON data
data = await response.json()
# If response is between 200-399, and is therefore valid
if response:
# Send message to #new_subscriptions channel
channel = client.get_channel(123456789)
await channel.send('{} has subscribed to the {} plan'.format(data['name'], data['plan']))
asyncio.run(main())
client.run(DISCORD_TOKEN, reconnect=True)
Изменить: у меня есть еще один вариант, в котором размещение частей aiohttp внутри on_ready() кажется работает, но опять же у меня нет действующего URL-адреса для тестирования. это с:
intents = discord.Intents.default()
intents.message_content = True
client = discord.Client(intents=intents)
@client.event
async def on_ready():
# Send message to #general channel
channel = client.get_channel(ids['general'])
await channel.send('{} has connected to Discord!'.format(client.user))
# HTTP Session
async with aiohttp.ClientSession() as session:
async with session.get(URL) as response:
# Get JSON data
data = await response.json()
# If response is between 200-399, and is therefore valid
if response:
channel = client.get_channel(ID)
await channel.send('{} has subscribed to the {} plan for ${}'.format(data['name'], data['plan'], data['price']))
client.run(DISCORD_TOKEN, reconnect=True)
Редактирование 2: удалось запустить фиктивный сервер с aiohttp.web. Сообщение отправляется на мой сервер Discord, но только сначала, поскольку я не знаю, как обновить URL-адрес во время его работы.
from aiohttp import web
routes = web.RouteTableDef()
@routes.get('/discord')
async def discord(request):
data = {
...
}
return web.json_response(data)
app = web.Application()
app.add_routes(routes)
web.run_app(app)
Подробнее здесь: [url]https://stackoverflow.com/questions/79139840/how-to-wait-for-post-request-before-sending-a-message-in-discord-using-pythons[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия