def process_username(message): username = message.text db = SQLight(constants.db_name) try: if username == '/back': bot.send_message(message.from_user.id,"Вы в меню админа!", reply_markup=admin_buttons()) return db.add_admin(username) bot.send_message(message.from_user.id,"Admin под ником "+username+" добавлен!", reply_markup=admin_buttons()) except Exception as identifier: bot.send_message(message.from_user.id,str(identifier))
def posts(call): try: global markup_get_create_query db = SQLight(constants.db_name) links = db.get_last_links() for link in links[:-1]: bot.send_message(call.from_user.id,link[0]) sleep(0.1) bot.send_message(call.from_user.id,links[-1][0],reply_markup=markup_get_create_query) except Exception as e: print(e)
def edit_admin(call): try: db = SQLight(constants.db_name) _admins = telebot.types.InlineKeyboardMarkup() for admin in db.get_admin_list(): row = [telebot.types.InlineKeyboardButton(admin + " " + u"\u2715",callback_data="del"+admin)] _admins.row(*row) row = [telebot.types.InlineKeyboardButton("Назад в меню",callback_data="/admin_menu")] _admins.row(*row) bot.send_message(call.from_user.id,"Выберите админа, которого хотите удалить!",reply_markup = _admins) except Exception as e: print(e)
def update_post(message): #try: post = message.text if post=='/otmena': bot.send_message(message.from_user.id,"Вы в главном меню...",reply_markup=admin_buttons()) return db = SQLight(constants.db_name) category = post_dict[message.from_user.id] print(post, category.category) db.update_post(category.category,post) bot.send_message(message.from_user.id,"Ссылка категории [ '{0}' ]\n Успешно обновлен на пост [ '{1}' ]".format(categories_ru[int(category.category)-1],post)) sleep(1) bot.send_message(message.from_user.id,"Вы в главном меню...",reply_markup=admin_buttons())
def del_admin(call): try: db = SQLight(constants.db_name) _admins = telebot.types.InlineKeyboardMarkup() admin = call.data[3:] db.delete_admin(admin) bot.answer_callback_query(call.id, text="<"+admin+"> Успешно удален!") for admin in db.get_admin_list(): row = [telebot.types.InlineKeyboardButton(admin + " " + u"\u2715",callback_data="del"+admin)] _admins.row(*row) row = [telebot.types.InlineKeyboardButton("Назад в меню",callback_data="/admin_menu")] _admins.row(*row) bot.edit_message_text("Выберите админа, которого хотите удалить!",call.from_user.id,call.message.message_id,reply_markup = _admins) except Exception as e: print(e)
def categorizing(message): global markup_get_create_query global markup_category db = SQLight(constants.db_name) if message.text == 'admin': admins = db.get_admin_list() if message.from_user.username in admins: bot.send_message(message.from_user.id,"Здарвствуйте, Админ!",reply_markup = admin_buttons()) if "Мои подписки" in message.text: temp=db.get_category(message.from_user.id) following='' for i in temp: following+='[ '+categories_ru[i[0]-1][3:]+']\n' bot.send_message(message.from_user.id,'Вы подписаны: \n'+following,reply_markup=markup_get_create_query) elif "Создать новый запрос" in message.text: bot.send_message(message.from_user.id,'Выберите категории, на которые вы бы хотели подписаться.\nЧтобы подписаться на несколько категории, отправьте номера категории с запятыми.\nНапример:1,3,4',reply_markup=markup_category) else: if message.text in categories_ru: print (message.text[0]) db.delete_user_all(message.from_user.id) if message.text[0]=='5': for i in range(1,5): db.add_new_user(i,message.from_user.id) bot.send_message(message.from_user.id,'Вы успешно подписаны на все категории!',reply_markup=markup_get_create_query) else: db.add_new_user(int(message.text[0]),message.from_user.id) bot.send_message(message.from_user.id,'Вы успешно подписаны на категорию \n[ '+message.text[3:]+']',reply_markup=markup_get_create_query) elif message.text[0]=='5' and len(message.text)==1: db.delete_user_all(message.from_user.id) for i in range(1,5): db.add_new_user(i,message.from_user.id) bot.send_message(message.from_user.id,'Вы успешно подписаны на все категории!',reply_markup=markup_get_create_query) elif len(message.text)>1 and len(message.text)<8 and ',' in message.text and message.text[0] in '1234' and message.text[len(message.text)-1] in '1234': db.delete_user_all(message.from_user.id) temp=(message.text).split(',') followed='' if db.check_user(message.from_user.id): db.delete_user_all(message.from_user.id) for i in temp: db.add_new_user(int(i),message.from_user.id) followed+='['+(categories_ru[int(i)-1])[3:]+' ]\n' bot.send_message(message.from_user.id,'Вы успешно подписаны на категории:\n'+followed[:-1],reply_markup=markup_get_create_query) db.close()
def starting(message): global markup_get_create_query last_posts = telebot.types.InlineKeyboardMarkup() row=[telebot.types.InlineKeyboardButton(u"\U0001F4E3"+" Получить последние посты",callback_data="/posts")] last_posts.row(*row) db = SQLight(constants.db_name) if db.check_user_info(message.from_user.id) or db.check_new_user_info(message.from_user.id): bot.send_message(message.from_user.id,'Приветствую ' + (message.from_user.first_name)+"!") bot.send_message(message.from_user.id,'<b>[ '+u"\U0001F4CB"+' Мои подписки ]</b> - отоброжает список категории вашей подписки, также можно редактировать\n<b>[ '+u"\U0001F6E0"+' Создать новый запрос ]</b> - создаете новый список для подписки',reply_markup=markup_get_create_query,parse_mode='HTML') return bot.send_message(message.from_user.id,'Добро пожаловать, ' + message.from_user.first_name + "!",reply_markup=markup_get_create_query) bot.send_message(message.from_user.id,'<b>[ '+u"\U0001F4CB"+' Мои подписки ]</b> - отоброжает список категории вашей подписки, также можно редактировать\n<b>[ '+u"\U0001F6E0"+' Создать новый запрос ]</b> - создаете новый список для подписки',parse_mode='HTML',reply_markup = last_posts) time_zone = 'Asia/Almaty' current = "%Y-%m-%d %H:%M" now_time = datetime.datetime.now(timezone(time_zone)).strftime(current) db.add_new_user_info(message.from_user.id,message.from_user.first_name,message.from_user.last_name,message.from_user.username,now_time) db.import_user(message.from_user.id,message.from_user.first_name,message.from_user.last_name,message.from_user.username,now_time) db.close()
import telebot import constants import pygsheets from pytz import timezone from neupusti_db import SQLight bot = telebot.TeleBot(constants.token) db = SQLight(constants.db_name) last_row = db.get_last_row_import() try: if last_row: gc = pygsheets.authorize(service_file=constants.client, no_cache=True) sht = gc.open("Neupusti Bot sheet") sheet = sht.worksheet('title', 'users') index = 1 sheet.insert_rows(index, values=last_row) db.delete_data() except Exception as e: bot.send_message(someID, "NOT OK: " + str(e))