import discord from discord.ext import commands from utils.news import fetch_rss, format_articles, RSS_URL_ARTICLES, RSS_URL_POSTS class News(commands.Cog): """Команда !news — свежие статьи по AI с Habr""" @commands.command(name="news") async def news(self, ctx): """Топ-5 свежих статей и новостей по AI с Habr""" articles = await fetch_rss(RSS_URL_ARTICLES) if articles is None: await ctx.send("Не удалось получить новости. Попробуйте позже.") return if not articles: await ctx.send("Новостей пока нет.") return articles_text = format_articles(articles, "Лучшие статьи за сутки / Искусственный интеллект / Хабr", "https://habr.com/ru/hubs/artificial_intelligence/articles/top/daily/") posts = await fetch_rss(RSS_URL_POSTS) embed = discord.Embed( title="Новости AI с Habr", colour=discord.Color.orange(), ) embed.add_field( name="Статьи", value="\n".join(articles_text), inline=False, ) if posts is None: embed.add_field( name="Новости", value="Не удалось получить новости.", inline=False, ) elif posts: posts_text = format_articles(posts, "Лучшие новости за сутки / Искусственный интеллект / Хабr", "https://habr.com/ru/hubs/artificial_intelligence/news/top/daily/") embed.add_field( name="Новости", value="\n".join(posts_text), inline=False, ) else: embed.add_field( name="Новости", value="Новостей пока нет.", inline=False, ) await ctx.send(embed=embed)