Skip to content
← Back to Community
How can I make a discordpy bot update/restart itself without stopping the Flask server
Profile icon
SpaceFire

I want to make a command something like [prefix]restart so that my bot doesn't go offline with every little update I make.

Voters
Profile icon
EnZon3
Profile icon
SpaceFire
Comments
hotnewtop
Profile icon
Coder100

Might want to look at crosis

Profile icon
CodeLongAndPros

If you are in the repl, Press Ctrl-Enter. Fast restart and virtually 0 downtime. (1-2 seconds)

Profile icon
JoshuaGottfried

Make a command only you can use called restart. Then use await client/bot.logout... If you are hosting using repl it will automatically restart

Profile icon
SpaceFire

@JoshuaGottfried this does log my bot out which is half the job but does not reactivate it

Profile icon
JoshuaGottfried

@SpaceFire Hmmmmmm. Could you send me the code via Discord? Nuggets#0001

Profile icon
SpaceFire
Profile icon
Codemonkey51

i have an idea run a flask server in one tread: make repl run start.sh on start and have that start keep_alive.py which makes a flask server then runs it in a thred then start main.py and have the restart command use os.system('python main.py') and then on the newline exit()
so the restart command would look ike this:

import os # -- rest of code-- #restart command os.system('python main.py') exit()

so then the thread is always running but the bot can restart itself

Profile icon
CodeLongAndPros

@Codemonkey51 That would cause recursion.

Not a fork bomb, but nested copy's.

Profile icon
leon332157

Just make 2 different threads one handles the bot restart another one handles the bot itself.

Profile icon
adl212

I actually don't think this is possible.