コード例 #1
0
ファイル: neupusti_beta.py プロジェクト: iskaira/neupusti
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))
コード例 #2
0
ファイル: neupusti_beta.py プロジェクト: iskaira/neupusti
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)
コード例 #3
0
ファイル: neupusti_beta.py プロジェクト: iskaira/neupusti
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)
コード例 #4
0
ファイル: neupusti_beta.py プロジェクト: iskaira/neupusti
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())
コード例 #5
0
ファイル: neupusti_beta.py プロジェクト: iskaira/neupusti
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)
コード例 #6
0
ファイル: neupusti_beta.py プロジェクト: iskaira/neupusti
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()
コード例 #7
0
ファイル: import.py プロジェクト: iskaira/neupusti
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))
コード例 #8
0
ファイル: neupusti_beta.py プロジェクト: iskaira/neupusti
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()
コード例 #9
0
ファイル: neupusti_beta.py プロジェクト: iskaira/neupusti
import logging
from time import sleep
import datetime


import pygsheets
from pytz import timezone
import telebot
import constants
from neupusti_db import SQLight


# Open spreadsheet and then workseet


db = SQLight(constants.db_name)
categories_ru=["1. Образование и Наука"+u"\U0001F393","2. Карьера и Трудоустройство"+u"\U0001F4BC","3. Исскуство и Творчество"+u"\U0001F3A8","4. Предпринимательство и Инновации"+u"\U0001F4B8","5. Подписаться на все"+u"\U0001F47B"]
markup_get_create_query=telebot.types.ReplyKeyboardMarkup(True,False)
markup_get_create_query.row(u"\U0001F4CB"+" Мои подписки")
markup_get_create_query.row(u"\U0001F6E0"+" Создать новый запрос ")
markup_category = telebot.types.ReplyKeyboardMarkup(True,False)
for row in categories_ru:
	markup_category.row(row)

logger = telebot.logger
telebot.logger.setLevel(logging.INFO)
bot = telebot.TeleBot(constants.token)

class Post:
    def __init__(self, category):
        self.category = category
コード例 #10
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from bs4 import BeautifulSoup
import requests
from time import sleep
import constants
from neupusti_db import SQLight
import telebot
import sys
db = SQLight(constants.db_name)
bot = telebot.TeleBot(constants.token)
links = []
deadlines = []
tmp = []
pages = 1
main_url = "http://neupusti.net/category/"
categories = [
    "obrazovanie-nauka", "karera-trudoustroistvo", "iskustvo-tvorchestvo",
    "predprinimatelstvo-innovacii"
]


def get_data(url, num):
    soup = BeautifulSoup((requests.get(url)).content, "html.parser")
    g_data = soup.find_all("div", {"class": "td-block-span6"})
    global links
    global deadlines
    global tmp
    deadlines = []
    links = []