Бот Discord не сохраняет строковое значение в одночасье - PullRequest
0 голосов
/ 09 июля 2020

Ниже мой код

import discord
from discord.ext import commands

client = commands.Bot(command_prefix = "!")

swingsMessage = "Update me"


@client.command()
async def swings(ctx):
    await ctx.send(swingsMessage)


@client.command()
async def update(ctx,*,message):
    if str(ctx.message.author) == "buysellshort#9420":
        global swingsMessage
        swingsMessage = message

пользователь вводит! Update и сообщение в одной строке, бот читает его, и когда пользователь вводит! Swings, он отображает это сообщение. теперь это работает, и все работает нормально, но на следующий день он возвращается к «Обновите меня», он размещен на Heroku, и это динамический бот.

Есть какой-нибудь совет? код неправильный, или вы, ребята, верите, что компьютер linux, на котором он размещен, просто выключается, и поэтому он сбрасывается?

Ответы [ 2 ]

0 голосов
/ 10 августа 2020

В вашем Procfile вместо web вы можете заменить это worker. Это избавит от 30-минутного бездействия, но будьте осторожны, так как он будет работать 24/7 и может быстро съесть ваши часы.

0 голосов
/ 09 июля 2020

Похоже, он засыпает после 30-минутного тайм-аута из-за отсутствия трафика c.

Если в приложении есть бесплатный веб-дино, и он не получает веб-трафик в течение 30 минут период, он будет спать. В дополнение к спящему веб-дино, рабочий дино (при его наличии) также будет спать.

Бесплатные веб-дино не потребляют бесплатные дино-часы во время сна. traffic c, он снова станет активным через небольшую задержку (при условии, что в вашей учетной записи есть свободные часы на стенде).

Source

...