From 937d38de5cde390d7ff0739f191cd55f7c962d8a Mon Sep 17 00:00:00 2001 From: AB Date: Fri, 6 Sep 2019 22:52:28 +0300 Subject: [PATCH] Init --- .gitignore | 1 + Dockerfile | 5 + app.py | 241 ++++++++++++++++++++++++++++++++++++++++++++ data.sql | 36 +++++++ data.sqlite | Bin 0 -> 454656 bytes database.py | 256 +++++++++++++++++++++++++++++++++++++++++++++++ dota_news.py | 91 +++++++++++++++++ requirements.txt | 2 + 8 files changed, 632 insertions(+) create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 app.py create mode 100644 data.sql create mode 100644 data.sqlite create mode 100644 database.py create mode 100644 dota_news.py create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c18dd8d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +__pycache__/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e55fba0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,5 @@ +FROM python:3.7.4-stretch +WORKDIR /doka2_bot +COPY . /doka2_bot +RUN pip install -r requirements.txt +CMD python3 /doka2_bot/app.py diff --git a/app.py b/app.py new file mode 100644 index 0000000..cf99487 --- /dev/null +++ b/app.py @@ -0,0 +1,241 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# This program is dedicated to the public domain under the CC0 license. + +import logging +import os +import sys + +from telegram import * +from telegram.ext import Updater, CommandHandler, CallbackQueryHandler +from database import DataBase + +DB = DataBase('data.sql') + +TOKEN = os.environ.get('TOKEN') +if TOKEN == None: + print('Define TOKEN env var!') + sys.exit(1) + +# Enable logging +logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', + level=logging.INFO) + +logger = logging.getLogger(__name__) + +def dota(update, context): + if len(context.args) == 0: + keyboard = [ + [ + InlineKeyboardButton("Patches", callback_data="patches"), + InlineKeyboardButton("Heroes", callback_data="heroes"), + InlineKeyboardButton("Items", callback_data="items"), + InlineKeyboardButton("Close", callback_data="close"), + ] + ] + reply_markup = InlineKeyboardMarkup(keyboard) + update.message.reply_text('What do you wanna know?', reply_markup=reply_markup) + +def smart_append(line, text, lenght=4000): + if len(line) + len(text) > 4000: + text = text[len(line):] + text = 'Full message too long\n' + text + return text + line + +def shorten(text): + max_len = 4000 + if len(text) > max_len: + text = text[len(text)-max_len:] + return 'Message too long...\n' + text + +def button(update, context): + query = update.callback_query + if query.data.split('_')[0] == 'close': + query.edit_message_text('Bye') + if query.data.split('_')[0] == 'dota': + keyboard = [ + [ + InlineKeyboardButton("Patches", callback_data="patches"), + InlineKeyboardButton("Heroes", callback_data="heroes"), + InlineKeyboardButton("Items", callback_data="items"), + InlineKeyboardButton("Close", callback_data="close"), + ] + ] + reply_markup = InlineKeyboardMarkup(keyboard) + query.edit_message_text('What do you wanna know?', reply_markup=reply_markup) + if query.data.split('_')[0] == 'patch': + patch = query.data.split('_')[1] + reply_markup = InlineKeyboardMarkup([[InlineKeyboardButton("Back", callback_data='patches'),]]) + text = f'Patch *{patch}*\n' + general_info = DB.get_general_history(patch) + i = 1 + for change in general_info: + text += f" {i} - {change[0]}\n" + i += 1 + query.edit_message_text(text, parse_mode=ParseMode.MARKDOWN, reply_markup=reply_markup) + if query.data.split('_')[0] == 'item': + keyboard = [[InlineKeyboardButton("Back", callback_data='items')]] + if 'expand' in query.data: + expand = True + else: + expand = False + keyboard[0].append(InlineKeyboardButton( + "Expand", + callback_data=f'{query.data}_expand') + ) + reply_markup = InlineKeyboardMarkup(keyboard) + + expand = True if 'expand' in query.data else False + item_name = query.data.split('_')[1] + item_history = DB.get_item_history(item_name) + text = f'*{item_name}* update history\n' + cur_patch = '' + for upd in item_history: + if upd[1] is None and not expand: + continue + if upd[0] != cur_patch: + no_info = '*No changes*' if upd[1] is None else '' + text += f"\n* {upd[0]} {no_info} *\n" + cur_patch = upd[0] + if upd[1] is not None: + text += f'\t\t 🔹 {upd[1]}\n' + query.edit_message_text(text, parse_mode=ParseMode.MARKDOWN, reply_markup=reply_markup) + + if query.data.split('_')[0] == 'hero': + keyboard = [[InlineKeyboardButton("Back", callback_data='heroes')]] + if 'expand' in query.data: + expand = True + else: + expand = False + keyboard[0].append(InlineKeyboardButton( + "Expand", + callback_data=f'{query.data}_expand') + ) + reply_markup = InlineKeyboardMarkup(keyboard) + + expand = True if 'expand' in query.data else False + hero_name = query.data.split('_')[1] + hero_history = DB.get_hero_history(hero_name) + text = f'*{hero_name}* update history\n' + cur_patch = '' + cur_type = '' + for upd in hero_history: + if upd[0] != cur_patch: + if upd[1] is None and not expand: + continue + no_info = '*No changes*' if upd[1] is None else '' + text += f"\n* {upd[0]} {no_info} *\n" + cur_patch = upd[0] + cur_type = '' + if upd[1] is not None: + if upd[1] != cur_type: +# text = smart_append(f"🔆*{upd[1].capitalize()}*\n", text) + text += f"🔆*{upd[1].capitalize()}*\n" + cur_type = upd[1] +# text = smart_append(f'\t\t 🔹 {upd[2]}\n', text) + text += f'\t\t 🔹 {upd[2]}\n' + text = shorten(text) + query.edit_message_text(text, parse_mode=ParseMode.MARKDOWN, reply_markup=reply_markup) + + if query.data.split('_')[0] == 'patches': + patches = DB.get_patch_list() + patches.reverse() + keyboard = [[]] + in_a_row = 5 + for patch in patches: + if len(keyboard[-1]) == in_a_row: + keyboard.append(list()) + keyboard[-1].append(InlineKeyboardButton(f"{patch}", callback_data=f"patch_{patch}")) + keyboard.append([InlineKeyboardButton("Back", callback_data='dota')]) + reply_markup = InlineKeyboardMarkup(keyboard) + query.edit_message_text(text="Select patch", reply_markup=reply_markup) + if query.data.split('_')[0] == 'heroes': + per_page = 20 + try: + page = int(query.data.split('_')[1]) + except: + page = 0 + heroes = DB.get_heroes_list() + heroes.sort() + last_hero = page*per_page+per_page + if len(heroes) <= last_hero - 1: + last_hero = len(heroes) + keyboard = [[]] + in_a_row = 2 + for hero in heroes[page*per_page:last_hero]: + if len(keyboard[-1]) == in_a_row: + keyboard.append(list()) + keyboard[-1].append(InlineKeyboardButton(f"{hero}", callback_data=f"hero_{hero}")) + keyboard.append([]) + if page != 0: + keyboard[-1].append( + InlineKeyboardButton("<=", callback_data=f'heroes_{page-1}'), + ) + if len(heroes) != last_hero: + keyboard[-1].append( + InlineKeyboardButton("=>", callback_data=f'heroes_{page+1}'), + ) + + keyboard.append([InlineKeyboardButton("Back", callback_data='dota')]) + reply_markup = InlineKeyboardMarkup(keyboard) + query.edit_message_text(text=f"Select hero {page*per_page}:{page*per_page+per_page}", reply_markup=reply_markup) + if query.data.split('_')[0] == 'items': + per_page = 20 + try: + page = int(query.data.split('_')[1]) + except: + page = 0 + items = DB.get_items_list() + items.sort() + keyboard = [[]] + last_item = page*per_page+per_page + if len(items) <= last_item - 1: + last_item = len(items) + in_a_row = 2 + for item in items[page*per_page:last_item]: + if len(keyboard[-1]) == in_a_row: + keyboard.append(list()) + keyboard[-1].append(InlineKeyboardButton(f"{item}", callback_data=f"item_{item}")) + keyboard.append([]) + if page != 0: + keyboard[-1].append( + InlineKeyboardButton("<=", callback_data=f'items_{page-1}'), + ) + if len(items) != last_item: + keyboard[-1].append( + InlineKeyboardButton("=>", callback_data=f'items_{page+1}'), + ) + keyboard.append([InlineKeyboardButton("Back", callback_data='dota')]) + reply_markup = InlineKeyboardMarkup(keyboard) + query.edit_message_text(text="Select item", reply_markup=reply_markup) + +def error(update, context): + """Log Errors caused by Updates.""" + logger.warning('Update "%s" caused error "%s"', update, context.error) + +def main(): + """Run bot.""" + updater = Updater(TOKEN, use_context=True) + + dp = updater.dispatcher + + dp.add_handler(CallbackQueryHandler(button)) + dp.add_handler(CommandHandler("dota", dota, + pass_args=True, + pass_job_queue=True, + pass_chat_data=True)) + + # log all errors + dp.add_error_handler(error) + + # Start the Bot + updater.start_polling() + + # Block until you press Ctrl-C or the process receives SIGINT, SIGTERM or + # SIGABRT. This should be used most of the time, since start_polling() is + # non-blocking and will stop the bot gracefully. + updater.idle() + + +if __name__ == '__main__': + main() diff --git a/data.sql b/data.sql new file mode 100644 index 0000000..d820e41 --- /dev/null +++ b/data.sql @@ -0,0 +1,36 @@ +BEGIN TRANSACTION; +CREATE TABLE IF NOT EXISTS "heroes" ( + "name" TEXT NOT NULL, + PRIMARY KEY("name") +); +CREATE TABLE IF NOT EXISTS "patches" ( + "version" TEXT NOT NULL, + "release_date" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY("version") +); +CREATE TABLE IF NOT EXISTS "items" ( + "name" TEXT NOT NULL, + PRIMARY KEY("name") +); +CREATE TABLE IF NOT EXISTS "hero_changes" ( + "type" TEXT NOT NULL, + "patch" INT NOT NULL, + "hero" INT NOT NULL, + "info" TEXT NOT NULL, + "meta" TEXT, + PRIMARY KEY("hero", "patch", "info") +); +CREATE TABLE IF NOT EXISTS "item_changes" ( + "patch" INT NOT NULL, + "item" INT NOT NULL, + "info" TEXT NOT NULL, + "meta" TEXT, + PRIMARY KEY("item", "patch", "info") +); +CREATE TABLE IF NOT EXISTS "general_changes" ( + "patch" INT NOT NULL, + "info" TEXT NOT NULL, + "meta" TEXT, + PRIMARY KEY("patch", "info") +); +COMMIT; diff --git a/data.sqlite b/data.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..d4b7b194cc91b21db7fbd077d246002a7f0e11c1 GIT binary patch literal 454656 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 ndkKd7cmM1X$ub>QyzoD%Zi^*#gCn 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 z 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
    psn5%9cZdZ{%Gl5Ub1F`$96l88g(K{G_i+9| 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 +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY UltraDesu ''AS IS'' AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL UltraDesu BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +""" +.. module:: models + :synopsis: Contains database action primitives. +.. moduleauthor:: AB +""" + +import sqlite3 +import logging + +logging.basicConfig( + level=logging.DEBUG, + format='%(asctime)s - %(name)s - %(levelname)s - %(message)s') +log = logging.getLogger(__name__) + + +# class DataBase create or use existent SQLite database file. It provides +# high-level methods for database. +class DataBase: + """This class create or use existent SQLite database file. It provides + high-level methods for database.""" + def __init__(self, scheme, basefile='data.sqlite'): + """ + Constructor creates new SQLite database if + it doesn't exist. Uses SQL code from file for DB init. + :param scheme: sql filename + :type scheme: string + :return: None + """ + self.scheme = '' + self.basefile = basefile + try: + conn = self.connect(basefile=basefile) + except: + log.debug('Could not connect to DataBase.') + return None + with open(scheme, 'r') as scheme_sql: + sql = scheme_sql.read() + self.scheme = sql + if conn is not None: + try: + cursor = conn.cursor() + cursor.executescript(sql) + except Exception as e: + log.debug(f'Could not create scheme - {e}') + else: + log.debug("Error! cannot create the database connection.") + log.info('DB created.') + self.close(conn) + + def connect(self, basefile): + """ + Create connect object for basefile + :param basefile: SQLite database filename + :type basefile: string + :return: sqlite3 connect object + """ + log.debug("Open connection to %s" % basefile) + return sqlite3.connect(basefile, check_same_thread=False) + + def execute(self, sql): + """ + Execute SQL code. First of all connect to self.basefile. Close + connection after execution. + :param sql: SQL code + :type sql: string + :return: list of response. Empty list when no rows are available. + """ + conn = self.connect(basefile=self.basefile) + log.debug("Executing: %s" % sql) + cursor = conn.cursor() + cursor.execute(sql) + conn.commit() + result = cursor.fetchall() + self.close(conn) + return result + + def add_patch(self, patch): + sql = f"INSERT OR IGNORE INTO patches('version') VALUES ('{patch}')" + self.execute(sql) + return True + + def add_hero(self, hero): + hero = hero.replace("'", "''") + sql = f"INSERT OR IGNORE INTO heroes('name') VALUES ('{hero}')" + self.execute(sql) + return True + + def add_item(self, item): + item = item.replace("'", "''") + sql = f"INSERT OR IGNORE INTO items('name') VALUES ('{item}')" + self.execute(sql) + return True + + def add_general_changes(self, + patch, + info): + info = info.replace("'", "''") + patch_id = self.get_patch_id(patch) + sql = f"""INSERT OR IGNORE INTO + general_changes('patch', 'info') + VALUES ( + '{patch_id}', + '{info}')""" + self.execute(sql) + return True + + def add_item_changes(self, + patch, + item, + info): + item = item.replace("'", "''") + info = info.replace("'", "''") + item_id = self.get_item_id(item) + patch_id = self.get_patch_id(patch) + sql = f"""INSERT OR IGNORE INTO + item_changes('patch', 'item', 'info') + VALUES ( + '{patch_id}', + '{item_id}', + '{info}')""" + self.execute(sql) + return True + + def add_hero_changes(self, + change_type, + patch, + hero, + info, + meta=None): + hero = hero.replace("'", "''") + info = info.replace("'", "''") + if meta: + meta = meta.replace("'", "''") + hero_id = self.get_hero_id(hero) + patch_id = self.get_patch_id(patch) + sql = f"""INSERT OR IGNORE INTO + hero_changes('type', 'patch', 'hero', 'info', 'meta') + VALUES ( + '{change_type}', + '{patch_id}', + '{hero_id}', + '{info}', + '{meta}')""" + self.execute(sql) + return True + + def get_patch_id(self, patch): + sql = f"SELECT rowid FROM patches WHERE version = '{patch}'" + ret = self.execute(sql) + return ret[0][0] + + def get_item_id(self, item): + sql = f"SELECT rowid FROM items WHERE name = '{item}'" + ret = self.execute(sql) + return ret[0][0] + + def get_hero_id(self, hero): + sql = f"SELECT rowid FROM heroes WHERE name = '{hero}'" + ret = self.execute(sql) + return ret[0][0] + + def get_items_list(self): + sql = f"SELECT name FROM items" + ret = self.execute(sql) + items = list() + for item in ret: + items.append(item[0]) + return items + + def get_heroes_list(self): + sql = f"SELECT name FROM heroes" + ret = self.execute(sql) + heroes = list() + for hero in ret: + heroes.append(hero[0]) + return heroes + + def get_patch_list(self): + sql = f"SELECT version FROM patches" + ret = self.execute(sql) + patches = list() + for patch in ret: + patches.append(patch[0]) + return patches + + def get_general_history(self, patch): + patch = patch.replace("'", "''") + patch = self.get_patch_id(patch) + sql = f"""SELECT gc.info FROM general_changes gc + LEFT JOIN patches p on p.ROWID = gc.patch + WHERE gc.patch = '{patch}'""" + return self.execute(sql) + + def get_hero_history(self, hero): + hero = hero.replace("'", "''") + hero = self.get_hero_id(hero) + sql = f"""SELECT p.version, a.type, a.info, a.meta FROM + patches p + LEFT JOIN ( + SELECT p.version, hc.type, hc.info, hc.meta FROM `heroes` h + LEFT JOIN hero_changes hc ON hc.hero = h.ROWID + LEFT JOIN patches p ON hc.patch = p.ROWID + WHERE hc.hero = {hero} + ) a ON p.version = a.version + ORDER BY p.rowid DESC;""" + return self.execute(sql) + + def get_item_history(self, item): + item = item.replace("'", "''") + item = self.get_item_id(item) + sql = f"""SELECT p.version, a.info FROM + patches p + LEFT JOIN ( + SELECT p.version, ic.info FROM item_changes ic + LEFT JOIN patches p ON p.rowid = ic.patch + WHERE ic.item = {item} + ) a ON p.version = a.version + ORDER BY p.rowid DESC""" + return self.execute(sql) + + def close(self, conn): + """ + Close connection object instance. + :param conn: sqlite3 connection object + :type conn: object + :return: None + """ + log.debug("Close connection to %s" % self.basefile) + conn.close() + diff --git a/dota_news.py b/dota_news.py new file mode 100644 index 0000000..7eaa5e5 --- /dev/null +++ b/dota_news.py @@ -0,0 +1,91 @@ +import urllib.request +import bs4 +from database import DataBase + +URL = "https://www.dota2.com/patches/" + +DB = DataBase('data.sql') + +raw_content = urllib.request.urlopen(URL) +content = raw_content.read().decode('utf8') + +raw_content.close() + +schema = bs4.BeautifulSoup(content, 'html.parser') + +raw_patches = schema.find(id="PatchSelector") +patches = list() +for patch in raw_patches: + if isinstance(patch, bs4.element.NavigableString): + continue + if patch.text[0].isdigit(): + patches.append(patch.text) + DB.add_patch(patch.text) +print(f"Found patches: {patches}") + +#patches = ['7.22'] + +for patch in patches: + raw_content = urllib.request.urlopen(URL + patch) + content = raw_content.read().decode('utf8') + raw_content.close() + schema = bs4.BeautifulSoup(content, 'html.parser') + + # hero updates + for hero in schema.findAll('div', {"class": 'HeroNotes'}): + hero_name = hero.select('.HeroName')[0].get_text() + DB.add_hero(hero_name) + patch_notes = list() + common_notes = hero.find('ul', {"class": 'HeroNotesList'}) + if common_notes is not None: + for note in common_notes.findChildren("li", recursive=False): + patch_notes.append(note.text) + DB.add_hero_changes( + change_type='common', + patch=patch, + hero=hero_name, + info=note.text) + ability_notes = dict() + for ability in hero.findAll('div', {"class": 'HeroAbilityNotes'}): + ability_name = ability.select('.AbilityName')[0].text + ability_notes[ability_name] = list() + for note in ability.findAll('li', {"class": 'PatchNote'}): + ability_notes[ability_name].append(note.text) + DB.add_hero_changes( + change_type='ability', + patch=patch, + hero=hero_name, + info=note.text, + meta=ability_name) + talent_notes = list() + talents = hero.find('div', {"class": 'TalentNotes'}) + if talents is not None: + for talent in talents.findAll('li'): + talent_notes.append(talent.text) + DB.add_hero_changes( + change_type='talent', + patch=patch, + hero=hero_name, + info=talent.text) + + # item updates + item_notes = dict() + for item in schema.findAll('div', {"class": 'ItemNotes'}): + item_name = item.select('.ItemName')[0].get_text() + DB.add_item(item_name) + item_notes[item_name] = list() + for note in item.findAll('li', {"class": 'PatchNote'}): + item_notes[item_name].append(note.text) + DB.add_item_changes( + patch=patch, + item=item_name, + info=note.text) + + # general updates + general = schema.find(id='GeneralSection') + print(general) + if general is not None: + for note in general.findAll('li', {"class": 'PatchNote'}): + DB.add_general_changes( + patch=patch, + info=note.text) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..1f1f9ac --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +beautifulsoup4==4.8.0 +python-telegram-bot==12.0.0b1