def send_rate(message): n = News() n.find_news(news_counter) inline_markup = telebot.types.InlineKeyboardMarkup() itembtnyes = telebot.types.InlineKeyboardButton('Yes', callback_data='news_yes') itembtnno = telebot.types.InlineKeyboardButton('No', callback_data='news_no') inline_markup.row(itembtnyes, itembtnno) bot.send_message(message.chat.id, f"{n.title}\n{n.url}\n\nAre you interested in this news?", disable_web_page_preview=True, reply_markup=inline_markup)
def recommend_handler(message): num_news = 20 n = News() news, urls = [], [] for i in range(num_news): n.find_news(i) news.append(n.title) urls.append(n.url) y_pred = recommend(message.chat.id, news, num_news) if y_pred is None: bot.send_message(message.chat.id, 'Cannot connect to DB') else: msg = '<b>Recommended news based on your preferences</b>\n\n' for i in range(num_news): if y_pred[i] == 1: msg += f'<a href="{urls[i]}">{news[i]}</a>\n\n' bot.send_message(message.chat.id, msg, parse_mode='HTML', disable_web_page_preview=True)
def rate_handler(query): is_interested = 1 if query.data == 'news_yes' else 0 text = query.message.text.split("\n") news_title = text[0] news_url = text[1] user_id = query.message.chat.id try: mydb = mysql.connector.connect(host=DB_HOST, user=DB_USER, passwd=DB_PASSWORD, database=DB_NAME) mycursor = mydb.cursor() sql = 'INSERT INTO news (news_title, news_url, is_interested, user_user_id) VALUES (%s, %s, %s, %s)' val = (news_title, news_url, is_interested, user_id) mycursor.execute(sql, val) mydb.commit() mycursor.close() mydb.close() bot.answer_callback_query(query.id, 'Your choice is saved') global news_counter news_counter = 0 if news_counter == 80 else news_counter + 1 n = News() n.find_news(news_counter) new_msg = f"{n.title}\n{n.url}\n\nAre you interested in this news?" inline_markup = telebot.types.InlineKeyboardMarkup() itembtnyes = telebot.types.InlineKeyboardButton( 'Yes', callback_data='news_yes') itembtnno = telebot.types.InlineKeyboardButton('No', callback_data='news_no') inline_markup.row(itembtnyes, itembtnno) bot.edit_message_text(text=new_msg, chat_id=query.message.chat.id, message_id=query.message.message_id, disable_web_page_preview=True, reply_markup=inline_markup) except: bot.edit_message_text(text='Cannot connect to DB', chat_id=query.message.chat.id, message_id=query.message.message_id)
from email import Email from excel import Excel from news import News m_email = Email() m_excel = Excel() m_news = News() news_list = m_news.find_news('키워드!') m_email.from_email = 'al' m_email.to_email = 'dkjs' m_email.subject = 'Dear. ' for news in news_list: m_email.contents = m_email.contents + news + '\n' m_email.send_email() m_excel.excel_file = 'result.xlsx' m_excel.save_to_excel(news_list)