Бот Discord отключается через 5 минут в сервисе приложения azure - PullRequest
0 голосов
/ 23 января 2020

Я сделал этого простого бота Discord и развернул его в Azure сервисе приложений, но чтобы включить, но онлайн, я должен go URL-адрес сервиса приложения, что уже странно. Таким образом, бот работает с командами, но когда я не набираю команду в течение 5 минут, но отключаюсь.

Локально этого не происходит.

У меня "Всегда включено" настройка включена в конфигурации плана обслуживания. Кто-нибудь знает почему и как это происходит? и как это исправить

package.js

{
  "name": "cookie-bot",
  "version": "1.0.0",
  "description": "cookie-bot",
  "main": "app.js",
  "scripts": {
    "start": "node app.js"
  },
  "author": "me",
  "dependencies": {
    "azure-storage": "^2.10.3",
    "discord.js": "github:discordjs/discord.js"
  }
}

Это мой azure-pipline.yml сценарий развертывания

- stage: Deploy
  displayName: Deploy stage
  dependsOn: Build
  condition: succeeded()
  jobs:
  - deployment: Deploy
    displayName: Deploy
    environment: $(environmentName)
    pool: 
      vmImage: $(vmImageName)
    strategy:
      runOnce:
        deploy:
          steps:            
          - task: AzureWebApp@1
            displayName: 'Azure Web App Deploy: cookie-bot'
            inputs:
              azureSubscription: '$(azureSubscription)'
              appType: 'webAppLinux'
              appName: '$(webAppName)'
              package: '$(Pipeline.Workspace)/drop/$(Build.BuildId).zip'
              runtimeStack: 'NODE|12.9'
              startUpCommand: 'npm run start'


app.js

var Discord = require('discord.js');
var auth = require('./conf/auth.json');

var commandRegistry = require('./core/command.registry');
var pingCommand = require('./lib/commands/ping.command');
var helpCommand = require('./lib/commands/help.command');
var insertTrash = require('./lib/commands/insertTrash.command');
var retreiveTrash = require('./lib/commands/retreiveUser.command');

var bot = new Discord.Client();

bot.on('ready', function (evt) {

});

bot.on('message', msg => {

    if (!msg.author.bot) {
        let messageData = {
            userId: msg.author.id,
            username: msg.author.username,
            channel: msg.author.lastMessageChannelID,
            content: msg.content
        };

        let registry = new commandRegistry(messageData.content);

        registry.registerMentionCommand('!ping', () => {
            new pingCommand(msg).reply(messageData);
        });

        registry.registerMentionCommand('!help', () => {
            new helpCommand(msg).reply(messageData.channel)
        });

        registry.registerMentionCommand('!insert', (commands) => {
            new insertTrash(msg).insert(messageData, commands);
        });

        registry.registerMentionCommand('!get', (commands) => {
            new retreiveTrash(msg).retreive(messageData);
        });


    }

});

bot.login(auth.token);
...