@ah0R

Как сделать время сообщения с часовым поясом?

С таким кодом:
@bot.event
async def on_ready():
    DiscordComponents(bot)
    await bot.change_presence(activity=discord.Game(name="Monro FamQ"))
    current_time = datetime.now().time()
    res =  bot.get_channel(882269213807497327)
    log = discord.Embed(title = '',description = '', colour = 0xFFFF00)
    log.set_thumbnail(url = f'https://media.discordapp.net/attachments/716571065270140938/880854910005047366/-7.png?width=701&height=701')
    log.add_field(name="", value= '', inline=True)
    log.set_footer(icon_url = 'https://media.discordapp.net/attachments/716571065270140938/880854176735854622/-6.png?width=701&height=701', 
        text = "Сегодня в %d:%d" % (current_time.hour, current_time.minute))
    await res.send(
                      embed = log)
    print("Бот включен")

Все в сообщении бота видят мое время + в первые 10 минут не отображается первый 0 (скрин ниже)
613312d28345f988695479.png
  • Вопрос задан
  • 3252 просмотра
Решения вопроса 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
Не нужно самому составлять строковое время из компонент, есть же готовые методы

datetime.datetime.now().strftime('%H:%M')

Discord не предоставляет информацию о часовом поясе пользователя, так что показывать каждому его время в виде текста нельзя. Но можно добавить timestamp в embed, тогда каждый получит индивидуальное время с учётом своего часового пояса:

embed = discord.Embed(title='test',timestamp=datetime.datetime.utcnow())
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы