I coded my bot using nextcord and tried running it 24/7 using Heroku. However, there are no error codes when I deploy my bot, it stays offline. I've used heroku before for my discord-py bots, they all work. This is the first time I am adding slash commands (that work when I run it on my pc) to my bots. I have all the files I need such as requirements.txt, Procfile, runtime.txt and index.py, stored in the same git repo. How do I fix this?
requirement.txt:
nextcord==2.0.0
runtime.txt:
python-3.10.6
procfile:
worker: python3 index.py
I have the worker dyno enabled
Related
I have created an selenium bot that posts every 20 minutes on Instagram
I deployed my project to heroku and everything but i don't know how to make it run forever
I tried heroku run python mycode.py in the command promt but the program would stop working if i close command prompt
heroku run is for ad hoc interactive stuff.
For a long-running background process you should define a worker process in your Procfile:
worker: python mycode.py
Commit that change and redeploy. Then scale up a dyno to run it:
heroku ps:scale worker=1
This will either consume free dyno hours or, if you are using paid dynos, incur costs.
am trying to build a telegram bot on heroku. The bot works fine on my local testing, when I published it to heroku for some reason the dyno is not working. I checked if there any problem in my program bot nothing.
even tried to launch it manually to see if there is any missing package or errors:
heroku run bash -a app1
python bot.py
and the application started normally without any problem.
also tried to restart dynos but nothing happened the dyno is still OFF.
Procfile
worker: python bot.py
PS:
am using the free plan
tried to see the logs but it didn't show any error
2021-10-20T14:59:56.732258+00:00 app[api]: Deploy 348270fc by user *#gmail.com
2021-10-20T14:59:56.732258+00:00 app[api]: Release v9 created by user *#gmail.com
2021-10-20T15:00:08.000000+00:00 app[api]: Build succeeded**
I found the answer after reading heroku documentation on Dynos, because this is a worker dyno not a web dyno you need to rescale it to 1.
PS> heroku scale worker=1
Scaling dynos... done, now running worker at 1:Free
Everything should work fine from there.
Reference:
Dynos and the Dyno Manager
Dyno Types
I have my Discord bot deployed to heroku. I can stop it by turning off this thing (the full page). How can I do the same thing through the command line (win10)?
You can use the following command which makes use of Heroku CLI assuming that you have it configured for your app.
heroku ps:scale worker=0
I've got a Heroku app which automatically deploys when I'm pushing changes to GitHub. It's a Discord Bot (written in python).
Now I want to automatically start this python script when I'm going to deploy (It should run 24/7 until it's stopped by a new deploy).
I read about Dynos but don't know how to use them. I already added the Procfile with bot: python bot.py but this won't auto start the app. The Dyno is only shown in the resources tab on the dashboard. Using heroku ps -a myapp it responds with No dynos on ⬢ myapp. The bot: python bot.py Dyno in the dashboard also can't be started through that switch.
Screenshot: The switch can't be activated
So I tried to use release: python bot.py which starts the bot but after another deploy the processes are stacking up and the bot is running multiple times.
Don't use a release command for this.
release commands run once as part of the deploy, then they're done. Your application should probably be set up as a web process (if it's supposed to respond to HTTP requests):
web: python myapp.py
or a worker process (if it isn't):
worker: python myapp.py
I have two telegram bots running on heroku. They just execute the main method of my python file, waiting for incoming commands from the users. So they have a simple web container, which is started with the command python script.py.
The first app sleeps after not receiving any commands for an hour. The second one runs 24/7 and is eating my free hours.
I have checked all the settings and configuration of these two apps. I cannot find any difference. Why would they run differently?
Procfile (app which behaves as I want, sleeping when not active):
web: python main.py
Procfile of the other app:
web: python main.py ${PORT}