- utils/news.py: добавлен logger, логирование ошибок RSS - utils/cat.py: добавлен logger, логирование ошибок TheCatAPI - utils/pogoda.py: улучшены логи fallback/warning при ошибках API - utils/rate_limiter.py: debug-логи при ожидании токенов - commands/pg.py, news.py, cat.py, morning.py, status.py, stats.py: logger + логи ошибок и успешного выполнения команд - console_commands/pogoda.py, news.py, cat.py, morning.py, status.py, stats.py: logger + логи выполнения - bot.py: логи запуска/остановки, проверки конфигурации, маршрутизации консольных команд, f-строки -> %s формат - ISSUES.md: снят флаг задачи по логированию - все 243 теста пройдены
29 lines
937 B
Python
29 lines
937 B
Python
import logging
|
||
import discord
|
||
from discord.ext import commands
|
||
|
||
from utils.cat import fetch_cat
|
||
|
||
logger = logging.getLogger(__name__)
|
||
|
||
|
||
class Cat(commands.Cog):
|
||
"""Команда !cat — случайный котик"""
|
||
|
||
@commands.command(name="cat")
|
||
async def cat(self, ctx):
|
||
"""Получить случайного котика"""
|
||
url = await fetch_cat()
|
||
if url is None:
|
||
logger.warning("%s: !cat — не удалось получить котика (API вернул None)", ctx.author)
|
||
await ctx.send("Не удалось получить котика. Попробуйте позже.")
|
||
return
|
||
|
||
embed = discord.Embed(
|
||
title="Котик для тебя!",
|
||
color=discord.Color.orange()
|
||
)
|
||
embed.set_image(url=url)
|
||
await ctx.send(embed=embed)
|
||
logger.info("%s: !cat выполнена", ctx.author)
|