Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Async в python помогите

Антон Дикий Ученик (162), на голосовании 1 год назад
Привет всем, я столкнулся с проблемой при написании бота.
Когда я запускаю код мне пишет:
Async def on_ready():
^
Invailde syntax.
Что делать?
Пишу на python 3.8.10
Голосование за лучший ответ
Татьяна Просветленный (36498) 1 год назад
Ошибка "Invalid syntax" возникает, когда вы используете ключевое слово async вне асинхронной функции. Вам нужно убедиться, что вы используете ключевое слово async внутри асинхронной функции.
код правильного использования async в Python 3.8.10:
 import asyncio 

async def my_coroutine():
print('Hello, world!')

async def main():
await my_coroutine()

asyncio.run(main())
В этом коде определяются две асинхронные функции: my_coroutine и main. my_coroutine просто печатает строку "Hello, world!", а main вызывает my_coroutine с помощью ключевого слова await. Затем мы запускаем main с помощью функции asyncio.run .
Если вы все еще получаете ошибку "Invalid syntax", убедитесь, что вы используете Python 3.5 или более позднюю версию, так как async был добавлен только в Python 3.5. Если вы используете старую версию Python, вам нужно обновить ее до более новой версии.
Также убедитесь, что вы используете ключевое слово async перед определением функции, а не после. Если вы все еще не можете решить проблему, попробуйте посмотреть на примеры кода в документации Python или обратиться за помощью к сообществу Python.
Антон ДикийУченик (162) 1 год назад
Я использую async до определения функции, но использую я:
@Bot.event
Async def on_ready():
Print (f"Bot {Bot.user} is ready to work!")
И у меня питон выше версии 3.5(у меня версия 3.8.10)
Татьяна Просветленный (36498) Антон Дикий, Код, который вы предоставили, содержит ошибку. В строке bot. run(" MTE1NDg4Nzk4NzQwMjkyMDA10A.Gw 0PQv.NS_RyBT8341wWNT2J5myi2Pue_MUdd2mxoeg не хватает закрывающей кавычки. Вам нужно добавить закрывающую кавычку в конец строки, чтобы исправить ошибку. Вот исправленный код:
 import disnaker 
from disnaker.ext import commands 
 
bot = commands.Bot(command_prefix="!", help_command=None, intents=disnaker.inten) 
 
@bot.event 
async def on_ready(): 
    print(f"Bot {bot.user} is ready to work!") 
 
bot.run("MTE1NDg4Nzk4NzQwMjkyMDA10A.Gw0PQv.NS_RyBT8341wWNT2J5myi2Pue_MUdd2mxoeg")
 
После исправления этой ошибки ваш бот должен запуститься без проблем.
Антон ДикийУченик (162) 1 год назад
Закрывающая кавычка имеется, но питон указывает ошибку в async def, остальное всё правильно написано
Татьяна Просветленный (36498) Антон Дикий, Код, который вы предоставили, содержит ошибку в строке intents-disnake.intents.all((). Вместо дефиса должен быть использован знак равенства, чтобы присвоить значение переменной intents. Вот исправленный код:
 import disnaker 
from disnaker.ext import commands 
import disnake 
 
bot = commands.Bot(command_prefix="!", help_command=None, intents=disnake.intents.all()) 
 
@bot.event 
async def on_ready(): 
    print(f"Bot {bot.user} is ready to work!") 
 
bot.run("MTE1NDg4Nzk4NzQwMjkyMDA10A.Gw0PQv.NS_RyBT8J41wWNT2J5myi2Pue_MUdd2mxoegv0") 
Антон ДикийУченик (162) 1 год назад
Я исправил код но теперь выдаёт такую ошибку:
Делал так же как вы скинули
Татьяна Просветленный (36498) Антон Дикий, Код, который вы предоставили, содержит ошибки синтаксиса. Ошибка находится в строке 8, где вы определяете функцию on_ready(). Вместо этого вы можете использовать следующий код:
 import disnake 
from disnake.ext import commands 
from disnake import Intents 
 
bot = commands.Bot(command_prefix="!", help_command=None, intents=Intents.all()) 
 
@bot.event 
async def on_ready(): 
    print(f"Bot {bot.user} is ready to work!") 
 
bot.run("MTE1NDg4Nzk4NzQwMjkyMDA10A.Gw0PQv.NS_RyBT8J41wWNT2J5myi2Pue_MUdd2mxoegv0") 
Также вам нужно убедиться, что вы установили библиотеку Disnake и импортировали ее в свой код. Вы можете установить ее, выполнив следующую команду:
 python3 -m pip install -U disnake 
ТатьянаПросветленный (36498) 1 год назад
 python -m pip install -U disnake 
Антон Дикий Ученик (162) 1111, я исправил код как на картинке, и у меня установлена библиотека, но выдаёт ошибку:
Похожие вопросы