startfile() returns as soon as the associated application is launched. There is no option to wait for the application to close, and no way to retrieve the application’s exit status.
# HELP
bot.remove_command("help")
@bot.command(command/help.py)
# PROFILE
bot.remove_command("profile")
@bot.command(command/profile.py)
session_id = requests.post(
"https://yug-krdr-itv04.svc.iptv.rt.ru/api/v2/user/sessions",
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)", "session_id": sess_id},
json={"login": email, "login_type": "email", "password": "1234567"},
).json() # значение session_id может быть не только строкой, но и целым числом, словарём, списком или None
return {"san": san, "session_id": session_id, "uid": ud} #в словарь оно пишется как есть
def requestBuilderWink(url, data=None, params=None, json=None, method=None):
register = regAccount()
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
"session_id": register["session_id"], # а потом используется как заголовок - тоже как есть
"x-rt-uid": register["uid"],
"x-rt-san": register["san"],
}
# вместо client.event может быть bot.event, смотря как названа переменная с объектом бота
@client.event
async def on_message(message):
# отсеиваем сообщения, которые отправили мы сами
if message.author == client.user:
return
# а вот тут мы проверяем содержимое сообщения. Это пример.
# Реальную логику проверки, разумеется, пишешь самостоятельно, под свои нужды.
if message.content.startswith('$hello'):
await message.channel.send('Hello!')
import asyncio
loop = asyncio.get_event_loop()
bot = Bot(token=TOKEN)
dp = Dispatcher(bot=bot)
async def delay_exit():
#запускаем input() без параметров в отдельном потоке
# await не продолжит выполнение, пока поток не отработает
# но в то же время цикл бота будет работать независимо от этого потока
await loop.run_in_executor(None, input)
dp.stop_polling()
await dp.wait_closed()
await bot.close()
if __name__ == '__main__':
loop.create_task(delay_exit()) # планируем выполнение delay_exit() и продолжаем
loop.run_until_complete(dp.start_polling()) # работаем, пока dp.start_polling() не выполнится
async def my_long_task():
while True:
await do_stuff() # выполняешь нужные действия, например, проверяешь очередь сообщений для отправки
await asyncio.sleep(60) # спишь минуту
async def on_raw_reaction_add(self, payload : discord.RawReactionActionEvent):
intents = discord.Intents.default()
intents.members = True
keep_alive()
client.run(os.getenv("BOT_TOKEN"))
Однако, если сохранить файл с кодом страницы то в файле присутствует все необходимое.
>>> print("foo\rbar")
bar