В настоящее время я пытаюсь подключить своего бота Discord к Heroku и разместить его круглосуточно, но у меня возникают проблемы.
- Я загрузил своего бота на github https://github.com/zemocode/flankebot/tree/master
- Я создал два основных файла, которые мне нужны
- Я нажал на ветку развертывания на Heroku и получаю эту ошибку.
! No default language could be detected for this app. HINT: This occurs when Heroku cannot detect the buildpack to use for this application automatically. See https://devcenter.heroku.com/articles/buildpacks ! Push failed
Я следил за руководствами, но у всех остальных есть node.js, а у меня мой не работает.
user10232468 9 Сен 2018 в 21:09
2 ответа
Лучший ответ
Вам не хватает пары вещей, чтобы эта работа работала, ради всех, кто ищет в Google, как разместить discord.py на Heroku, и получить это в качестве главного результата, вот пошаговое руководство
- Установите Git и сделайте git init внутри своего каталога
- (Если вы используете virtualenv или аналогичный, войдите в него и) выполните pip freeze , затем скопируйте полученное содержимое в файл с именем requirements.txt и сохраните его в том же репозитории, что и бот
- Создайте файл (файл типа file) , откройте его блокнотом, напишите worker: python name_of_bot_file.py и сохраните в том же репозитории
- Создайте текстовый файл с именем runtime.txt и вставьте python-3.6.5 или ту версию Python, которую вы использовали для написания бота, и сохраните ее в том же репозитории.
- (Если вы находитесь внутри virtualenv, выйдите и) откройте консоль, напишите heroku login и введите свои данные для входа в heroku
- Затем выполните heroku apps:create name_of_app и heroku buildpacks:set heroku/python
- Наконец, сделайте git push heroku master или git push heroku branch_name:master , если вы хотите нажать только одну ветку
Tristo 10 Сен 2018 в 09:20
Программируем телеграм бота и деплоим на Heroku!
Ваш файл procfile неправильный. веб-приложение ( web: ) предназначено для веб-сайтов (а ваш бот не является). правый — worker: python3 bot.py .
Кроме того, вам понадобится requirements.txt . внутри файла напишите каждый модуль, который вам нужно загрузить. в вашем случае это просто discord.py .
Источник: question-it.com
How to Host a Discord Bot on Heroku 24/7
you will learn how to create a super simple discord bot and keep it connected to your discord server 24/7 for free.
Requirements
- a Discord Account.
- a GitHub Account.
- a Heroku Account.
Difficulty
Tutorial Contents
Creating your Bot on Discord:
Open the following link and login using your discord account: https://discordapp.com/developers/applications/me
Подключение discord бота к хостингу Heroku через github.com
Create a New Application.
Follow this instruction and Create a new application — Name Your App, Select an Avatar/Icon, and click «Create App.»
Once the App is created, select it and Click on «Create a Bot User.» Confirm and Choose «Yes. Do It!» on the box that pops up.
Make sure to take Note of the Client ID and Token. You will need these later when you begin programming your bot. Do not share this information!
Replace YOUR_CLIENT_ID_HERE with the Client ID from your created Bot.
creating the script
Go with the following link to GitHub to create the repository: https://github.com/new
Then we will create 3 scripts within that repository, which are these three
const Discord = require(‘discord.js’); const client = new Discord.Client(); client.on(‘ready’, () => < console.log(‘I am ready!’); >); client.on(‘message’, message => < if (message.content === ‘ping’) < message.reply(‘pong’); >>); // THIS MUST BE THIS WAY client.login(process.env.BOT_TOKEN);//where BOT_TOKEN is the token of our bot
< «name»: «Test», «description»: «Test», «version»: «0.0.0», «main»: «bot.js», «scripts»: < «start»: «node bot.js» >, «dependencies»: < «discord.js»: «11.1.0», «request»: «2.81.0» >>
worker: node bot.js
the scripts should appear like this
Note: if when copying the files or finishing the entire tutorial you have an error, try copying directly the GitHub script: https://github.com/Carlososuna11/discord-example
Uploading the Script to Heroku:
Heroku is a platform as a cloud computing service that supports different programming languages.
we will take advantage of that Heroku service to keep our bot activated
we will create a new board where the script will be uploaded here the link: https://dashboard.heroku.com/apps
let’s go to the resources section and select github
. Но, пожалуйста, поделитесь, если у вас есть альтернативы лучше, чем Heroku
Предварительные требования
- У вас должна быть учетная запись Heroku, вы можете зарегистрироваться здесь
- Должен быть установлен Heroku CLI
Развертывание и запуск вашего бота в Heroku
Войдите в свою учетную запись и создайте свое приложение Heroku
Тогда вы будете перенаправлены на эту страницу
Во-первых, нам нужно сообщить Heroku, что у нас есть DISCORD_TOKEN для внедрения при развертывании, перейдите в Настройки
Затем нажмите Reveal Config Vars и добавьте токен, который у нас есть в файле .env, затем нажмите «Добавить».
Вернитесь на страницу Развертывание и следуйте инструкциям в разделе Развертывание с помощью Heroku Git.
После того, как вы отправите свой код в Heroku, ваш терминал должен показать сообщение об успешном завершении, примерно так:
Ваш бот должен заработать через несколько секунд. Теперь перейдите на свой канал Discord, и вы должны увидеть, что ваш бот находится в сети и ответит вам, как только вы отправите сообщение «пинг».
Обновление FIX — 4 апреля 2020 г.
Мне сказали, что скрипт бота выдает ошибку в определенное время при размещении на Heroku, к сожалению, он не перезапускается сам по себе. Чтобы исправить это, вам нужно добавить Procfile в корневую папку проекта со следующим кодом:
worker: npm run start
После этого просто добавьте, зафиксируйте и вставьте свой код в приложение Heroku.
Спасибо mr-winston за сообщение о проблеме.
ПОЗДРАВЛЯЕМ! теперь ваш бот запущен!
Прошу прощения за то, что я опубликовал вторую часть учебника через некоторое время, но я надеюсь, что вы кое-что узнали об этом.
Дайте мне знать, если у вас есть вопросы или проблемы с вашей настройкой, и создайте свои проблемы здесь.
Получайте удовольствие и продолжайте учиться
Источник: digitrain.ru