Compare commits
2 Commits
71bcd66794
...
da84ecacdc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
da84ecacdc | ||
|
|
e2c4ecdf5d |
@ -26,7 +26,7 @@ python bot.py
|
|||||||
| Команда | Описание | Формат вывода |
|
| Команда | Описание | Формат вывода |
|
||||||
|---------|----------|---------------|
|
|---------|----------|---------------|
|
||||||
| `!pg` | Погода в Магнитогорске | Температура, ощущается, описание, влажность, ветер, давление |
|
| `!pg` | Погода в Магнитогорске | Температура, ощущается, описание, влажность, ветер, давление |
|
||||||
| `!news` | Топ-5 статей и топ-5 новостей AI с Habr | Два блока: статьи и новости |
|
| `!nw` | Топ-5 статей и топ-5 новостей AI с Habr | Два блока: статьи и новости |
|
||||||
| `!morning` | Погода + топ-5 статей + топ-5 новостей + котик | Embed: котик thumbnail, погода, статьи, новости |
|
| `!morning` | Погода + топ-5 статей + топ-5 новостей + котик | Embed: котик thumbnail, погода, статьи, новости |
|
||||||
| `!cat` | Случайный котик | Embed с изображением |
|
| `!cat` | Случайный котик | Embed с изображением |
|
||||||
| `!msg <текст>` | Повторяет текст | Текст |
|
| `!msg <текст>` | Повторяет текст | Текст |
|
||||||
@ -62,7 +62,7 @@ python bot.py
|
|||||||
- Ветер: км/ч → м/с (`/ 3.6`)
|
- Ветер: км/ч → м/с (`/ 3.6`)
|
||||||
- Погодные описания: английский → русский (`translate_weather()`)
|
- Погодные описания: английский → русский (`translate_weather()`)
|
||||||
|
|
||||||
### RSS-ленты Habr (!news, !morning)
|
### RSS-ленты Habr (!nw, !morning)
|
||||||
| Тип | URL |
|
| Тип | URL |
|
||||||
|-----|-----|
|
|-----|-----|
|
||||||
| Статьи | `https://habr.com/ru/rss/hubs/artificial_intelligence/articles/top/daily/?fl=ru` |
|
| Статьи | `https://habr.com/ru/rss/hubs/artificial_intelligence/articles/top/daily/?fl=ru` |
|
||||||
|
|||||||
2
bot.py
2
bot.py
@ -131,7 +131,7 @@ if __name__ == "__main__":
|
|||||||
thread.start()
|
thread.start()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
bot.run(token, raise_exception=True)
|
bot.run(token)
|
||||||
except discord.LoginFailure as e:
|
except discord.LoginFailure as e:
|
||||||
logger.critical(f"Ошибка авторизации бота: {e}", exc_info=True)
|
logger.critical(f"Ошибка авторизации бота: {e}", exc_info=True)
|
||||||
print(f"❌ Токен неверный или бот отключён. Код ошибки: {e}")
|
print(f"❌ Токен неверный или бот отключён. Код ошибки: {e}")
|
||||||
|
|||||||
@ -4,10 +4,10 @@ from utils.news import fetch_rss, format_articles, RSS_URL_ARTICLES, RSS_URL_POS
|
|||||||
|
|
||||||
|
|
||||||
class News(commands.Cog):
|
class News(commands.Cog):
|
||||||
"""Команда !news — свежие статьи по AI с Habr"""
|
"""Команда !nw — свежие статьи по AI с Habr"""
|
||||||
|
|
||||||
@commands.command(name="news")
|
@commands.command(name="nw")
|
||||||
async def news(self, ctx):
|
async def nw(self, ctx):
|
||||||
"""Топ-5 свежих статей и новостей по AI с Habr"""
|
"""Топ-5 свежих статей и новостей по AI с Habr"""
|
||||||
articles = await fetch_rss(RSS_URL_ARTICLES)
|
articles = await fetch_rss(RSS_URL_ARTICLES)
|
||||||
if articles is None:
|
if articles is None:
|
||||||
|
|||||||
@ -35,10 +35,8 @@ class TestBotErrorHandlingCodeExists:
|
|||||||
with open(ROOT_DIR / "bot.py", encoding="utf-8") as f:
|
with open(ROOT_DIR / "bot.py", encoding="utf-8") as f:
|
||||||
content = f.read()
|
content = f.read()
|
||||||
|
|
||||||
# Проверяем наличие raise_exception=True
|
# Проверяем обработку ошибок в bot.run()
|
||||||
assert "raise_exception=True" in content, (
|
assert "bot.run(token)" in content, "В bot.py должен быть вызов bot.run(token)"
|
||||||
"В bot.py должен присутствовать параметр raise_exception=True"
|
|
||||||
)
|
|
||||||
|
|
||||||
# Проверяем наличие обработки LoginFailure
|
# Проверяем наличие обработки LoginFailure
|
||||||
assert "LoginFailure" in content, "В bot.py должна быть обработка LoginFailure"
|
assert "LoginFailure" in content, "В bot.py должна быть обработка LoginFailure"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user