Beispiel #1
0
def welcome_markup():
    markup = ReplyKeyboardMarkup(row_width=2, resize_keyboard=True)
    markup.row('Мониторинг', 'Найден')
    markup.row('Информация')
    return markup
Beispiel #2
0
 def question_male(cls):
     markup = ReplyKeyboardMarkup()
     markup.row(btn.btn3, btn.btn4)
     markup.resize_keyboard = True
     return markup
Beispiel #3
0
import os, sys
from PIL import Image, ImageDraw, ImageFont
import random
import requests
from bs4 import BeautifulSoup as BS


T = ''

bot = telebot.TeleBot(T)

channelId = -1001390673326
channelId1 = -1001462619192
user_dict = {}

markup = ReplyKeyboardMarkup(resize_keyboard=True, row_width=1)
btn1 = KeyboardButton("🧕 Xijobli 🌙")
btn2 = KeyboardButton("❤️ Chiroyli 🎀")
btn3 = KeyboardButton("🌸 Judayam Chiroyli 🌊")
btn4 = KeyboardButton("💞 Dugonalarga 🧸🧸")
markup.add(btn1, btn2, btn3, btn4)


def TextToImgx(ext):
    IMAGES = [
        'g006.jpg',
        'g011.jpg',
        'g014.jpg',
        'g021.jpg',
        'g031.jpg',
        'g034.jpg',
Beispiel #4
0
import telebot, time, cheks
from config import token, bot_base
from mongoengine import connect
from models import User, Bet, Text
from telebot.types import (InlineKeyboardButton, InlineKeyboardMarkup,
                           ReplyKeyboardMarkup)
from utils import thread_rolling
from linux_webhook_runner import runn_webhook

bot = telebot.TeleBot(token)
connect(bot_base)

#Keyboards-----------------------------------------------------------------
start_keyboard = ReplyKeyboardMarkup(one_time_keyboard=True,
                                     resize_keyboard=True,
                                     row_width=1)
start_keyboard.add(
    'Рулетка',
    'Инфо',
)


#Functions-----------------------------------------------------------------
def bet_type_chose(message_or_call, next_call_data):
    bets = (
        'Число',
        '🔴/⚫',
        'Чет/Нечет',
        'Половина',
        'Дюжина',
        # 'До 4х чисел',
def send_start_message():
    # Sends key "Genres" and start message
    search_keyboard = ReplyKeyboardMarkup(one_time_keyboard=True,
                                          resize_keyboard=True)
    search_keyboard.row("Жанры")
    return messages.start_message, search_keyboard
Beispiel #6
0
 def generate_reply_keyboard(self, buttons: List[KeyboardButton]):
     kb = ReplyKeyboardMarkup(resize_keyboard=True)
     kb.add(*buttons)
     return kb
Beispiel #7
0
from My_tg_bot.sending_news import Sender
from My_tg_bot.shop_models import User
from My_tg_bot.extra_models import News_hot
from telebot.types import ReplyKeyboardMarkup, KeyboardButton

count_news = News_hot.objects().count()
last_news = News_hot.objects[count_news - 1:count_news]
kb = ReplyKeyboardMarkup(resize_keyboard=True)
a = ['Свіжі Новини', '/start']
buttons = [KeyboardButton(n) for n in a]
kb.add(*buttons)
for i in last_news:
    s = Sender(User.objects(), text=i.body, reply_markup=kb)
    s.send_message()
Beispiel #8
0
from telebot.types import InlineKeyboardMarkup, InlineKeyboardButton, ReplyKeyboardMarkup, ReplyKeyboardRemove, KeyboardButton
from application.resources.strings import get_string, from_order_shipping_method, from_order_payment_method
from application.core.models import Order
from application.utils.bot import to_main_menu

_keyboards_ru = {'remove': ReplyKeyboardRemove()}
_keyboards_uz = {'remove': ReplyKeyboardRemove()}

_default_value = ReplyKeyboardMarkup(resize_keyboard=True)
_default_value.add('no_keyboard')

# Initialization russian keyboardspoint_5
_welcome_language = ReplyKeyboardMarkup(resize_keyboard=True)
_welcome_language.add(get_string('language.russian'))
_keyboards_ru['welcome.language'] = _welcome_language

_main_menu_ru = ReplyKeyboardMarkup(resize_keyboard=True)
_main_menu_ru.add(get_string('main_menu.make_order'))
_main_menu_ru.add(get_string('main_menu.send_comment'))
_main_menu_ru.add(get_string('main_menu.about'))
_keyboards_ru['main_menu'] = _main_menu_ru

_go_back_ru = ReplyKeyboardMarkup(resize_keyboard=True)
_go_back_ru.add(get_string('go_back'))
_keyboards_ru['go_back'] = _go_back_ru

_dish_keyboard_ru = InlineKeyboardMarkup(row_width=3)
_dish_keyboard_ru.add(*[
    InlineKeyboardButton(
        bytes([0x30 + x, 0xef, 0xb8, 0x8f, 0xe2, 0x83, 0xa3]).decode(),
        callback_data='count:' + str(x)) for x in list(range(1, 10))
Beispiel #9
0
def make_role_replykeyboard(buttons):
    role_keyboard = ReplyKeyboardMarkup(True, False)
    for button in buttons:
        role_keyboard.add(button)

    return role_keyboard
def get_return_markup():
    markup = ReplyKeyboardMarkup(one_time_keyboard=True)
    markup.row(_get_return_button())

    return markup
Beispiel #11
0
import confic
from telebot import TeleBot
from telebot.types import ReplyKeyboardMarkup

from telebot.types import InlineKeyboardButton
from telebot.types import InlineKeyboardMarkup
import cv2

bot = TeleBot(confic.token)
keyboard = ReplyKeyboardMarkup(True)
keyboard.row('/start', '/info')
keyboard.row('Привет', 'Пока')
sticker1 = 'CAACAgIAAxkBAAN7YEJhVKj0vsDNV0JCR53AFfpzDFYAAgEBAAJWnb0KIr6fDrjC5jQeBA'


@bot.message_handler(commands=['start'])
def start(message):
    print(message.chat.id, message.text)
    bot.send_sticker(message.chat.id, sticker1)
    bot.send_message(message.chat.id, "Бот запущен", reply_markup=keyboard)


@bot.message_handler(commands=['info'])
def info(message):
    print(message.chat.id, message.text)
    bot.send_message(message.chat.id,
                     "Это бот Хабибуллина Раяна",
                     reply_markup=keyboard)


@bot.message_handler(content_types=['text'])
def get_currency_markup():
    markup = ReplyKeyboardMarkup(one_time_keyboard=True)
    markup.add(*_get_currencies_buttons())
    markup.add(_get_return_button())

    return markup
Beispiel #13
0
def Questions_Uz():
    markup = ReplyKeyboardMarkup(resize_keyboard=True, one_time_keyboard=True)
    markup.row(InlineKeyboardButton("Qimmat"))
    markup.row(InlineKeyboardButton("Sifatsiz"))
    markup.row(InlineKeyboardButton("O\'z vaqtida emas"))
    return markup
Beispiel #14
0
def Settings_Ru():
    markup = ReplyKeyboardMarkup(resize_keyboard=True,one_time_keyboard=True)
    markup.row(InlineKeyboardButton("UZ"),InlineKeyboardButton("RU"),InlineKeyboardButton("ENG"))
    markup.row(InlineKeyboardButton("Добавить номер"),InlineKeyboardButton("Изменить Имя"),InlineKeyboardButton("Сброс"))
    markup.row(InlineKeyboardButton('Меню'),InlineKeyboardButton('Назад'))
    return markup
Beispiel #15
0
def render_round_buttons(data):
    markup = ReplyKeyboardMarkup(True, True)
    markup.add(*(InlineKeyboardButton('Вариант {}'.format(i))
                 for i in range(1,
                                len(data) + 1)))
    return markup
Beispiel #16
0
 def main_menu(self, message):
     keyboard = ReplyKeyboardMarkup()
     keyboard.add(KeyboardButton('Available quest-rooms👁'))
     keyboard.add(KeyboardButton('My profile😃'))
     self.bot.reply_to(message, text='You are in main menu. Your choice:', reply_markup=keyboard)
     self.bot.register_next_step_handler(message, self.main_menu_choice)
Beispiel #17
0
from bot.tele_bot import TeleBot
from parsers.object_info import Location, ObjectInfo, parse_object_info

load_dotenv()

# Send logs to a file
logger.add('debug.log', format='{time} {level} {message}', level='DEBUG', rotation='10 KB', compression='zip')

api_url = os.getenv('API_URL')
bot_token = os.getenv('BOT_TOKEN')

bot = TeleBot(bot_token, parse_mode='Markdown')

# Add location request button
send_location_button = KeyboardButton(SEND_LOCATION_MESSAGE, request_location=True)
welcome_reply_markup = ReplyKeyboardMarkup(row_width=3, one_time_keyboard=True, resize_keyboard=True)
welcome_reply_markup.add(send_location_button)


@bot.message_handler(commands=['start', 'test'])
def welcome(message: Message):
    bot.reply_to(message, WELCOME_MESSAGE, reply_markup=welcome_reply_markup)


@bot.message_handler(func=lambda _: True, content_types=['text', 'location'])
def all_messages_handler(message: Message):
    if message.content_type == 'location' and message.location is not None:
        chat_id = message.chat.id

        bot.send_chat_action(chat_id, action='Typing')
Beispiel #18
0
def greetings(message):
    kb = ReplyKeyboardMarkup(resize_keyboard=True)
    kb.add(*config.START_KEYBOARD.values())
    User.get_or_create_user(message)
    greetings_str = Texts.get_text('Greetings')
    bot.send_message(message.chat.id, 'HELLO!' + greetings_str, reply_markup=kb)
Beispiel #19
0
from telebot.types import KeyboardButton, ReplyKeyboardMarkup

from .types import CabinetKeyboardTypes as Keys
from .types import CommonKeyboardTypes

cabinet_keyboard_markup = ReplyKeyboardMarkup()

cabinet_keyboard_markup.row(KeyboardButton(Keys.CREAT_NEW_ROOM))
cabinet_keyboard_markup.row(KeyboardButton(CommonKeyboardTypes.RETURN_TO_MAIN_MENU))

__all__ = ['cabinet_keyboard_markup']
Beispiel #20
0
def skip_markup():
    markup = ReplyKeyboardMarkup(one_time_keyboard=True)
    markup.add(KeyboardButton('[OK]'))
    return markup
Beispiel #21
0
from telebot.types import KeyboardButton, ReplyKeyboardMarkup

from .types import MainKeyboardTypes as Keys

main_keyboard_markup = ReplyKeyboardMarkup()

main_keyboard_markup.row(KeyboardButton(Keys.CABINET))
main_keyboard_markup.row(KeyboardButton(Keys.MY_ROOMS))
main_keyboard_markup.row(KeyboardButton(Keys.PAYMENTS),
                         KeyboardButton(Keys.SETTINGS))
main_keyboard_markup.row(KeyboardButton(Keys.CONTACT),
                         KeyboardButton(Keys.HELP))

__all__ = ['main_keyboard_markup']
Beispiel #22
0
def select_study_program_combination(message):
    answer = ""

    sql_con = functions.get_connection()
    cursor = sql_con.cursor()
    cursor.execute(
        """SELECT study_level_name, study_programs_json 
                      FROM user_choice 
                      WHERE user_id = %s""", (message.chat.id, ))
    data = cursor.fetchone()
    cursor.close()
    sql_con.close()

    study_level_name, study_programs = data[0], loads(data[1])
    study_level_names = []
    for study_program in study_programs:
        study_level_names.append(study_program["StudyLevelName"])
    index = study_level_names.index(study_level_name)
    study_program_combinations = study_programs[index][
        "StudyProgramCombinations"]
    study_program_combination_names = []
    for study_program_combination in study_program_combinations:
        study_program_combination_names.append(
            study_program_combination["Name"].strip())
    if message.text in study_program_combination_names:
        answer += "Укажи год поступления:"
        admission_years_keyboard = ReplyKeyboardMarkup(resize_keyboard=True,
                                                       one_time_keyboard=False)
        index = study_program_combination_names.index(message.text)
        admission_years = study_program_combinations[index]["AdmissionYears"]
        for admission_year in admission_years:
            admission_years_keyboard.row(admission_year["YearName"])
        admission_years_keyboard.row("Другая программа")

        sql_con = functions.get_connection()
        cursor = sql_con.cursor()
        cursor.execute(
            """UPDATE user_choice
                          SET study_program_combination_name = %s 
                          WHERE user_id = %s""",
            (message.text, message.chat.id))
        sql_con.commit()
        cursor.close()
        sql_con.close()

        bot.send_message(message.chat.id,
                         answer,
                         reply_markup=admission_years_keyboard)
        set_next_step(message.chat.id, "select_admission_year")
    elif message.text == "Другая ступень":
        sql_con = functions.get_connection()
        cursor = sql_con.cursor()
        cursor.execute(
            """SELECT division_name 
                          FROM user_choice 
                          WHERE user_id = %s""", (message.chat.id, ))
        data = cursor.fetchone()
        cursor.close()
        sql_con.close()

        message.text = data[0]
        select_division(message)
        return
    else:
        answer += "Пожалуйста, укажи программу:"
        bot.send_message(message.chat.id, answer)
        set_next_step(message.chat.id, "select_study_program_combination")
Beispiel #23
0
def bet_saver(call):
    roulette_kb = ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
    roulette_kb.add('Повторить', 'На что то другое', 'Новая ставка',
                    'Изменить сумму ставки', 'В главное меню')

    user = User.get_user(call.from_user.id)
    bet_size = call.data.split('_')[1]
    call_bet_type = call.data.split("_")[2]

    if call_bet_type == '⚫':
        bet_type = call_bet_type
        bet_numbers = [
            2, 4, 6, 8, 10, 11, 13, 15, 17, 20, 22, 24, 26, 28, 29, 31, 33, 35
        ]
        in_message_bet = bet_type
    elif call_bet_type == '🔴':
        bet_type = call_bet_type
        bet_numbers = [
            1, 3, 5, 7, 9, 12, 14, 16, 18, 19, 21, 23, 25, 27, 30, 32, 34, 36
        ]
        in_message_bet = bet_type
    elif call_bet_type == 'Четные':
        bet_type = call_bet_type
        bet_numbers = [
            2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36
        ]
        in_message_bet = bet_type
    elif call_bet_type == 'Нечетные':
        bet_type = call_bet_type
        bet_numbers = [
            1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35
        ]
        in_message_bet = bet_type
    elif call_bet_type == '1-18':
        bet_type = call_bet_type
        bet_numbers = [
            1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
        ]
        in_message_bet = bet_type
    elif call_bet_type == '19-36':
        bet_type = call_bet_type
        bet_numbers = [
            19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
            36
        ]
        in_message_bet = bet_type
    elif call_bet_type == '1-12':
        bet_type = call_bet_type
        bet_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
        in_message_bet = bet_type
    elif call_bet_type == '13-24':
        bet_type = call_bet_type
        bet_numbers = [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]
        in_message_bet = bet_type
    elif call_bet_type == '25-36':
        bet_type = call_bet_type
        bet_numbers = [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
        in_message_bet = bet_type
    else:
        str_bet_numbers = call_bet_type.split(',')
        bet_numbers = []
        for n in str_bet_numbers:
            bet_numbers.append(int(n))
        bet_type = 'Число(а)'
        in_message_bet = call_bet_type

    Bet(user=user,
        bet_size=bet_size,
        bet_numbers=bet_numbers,
        bet_type=bet_type,
        date=time.strftime("%y.%m.%d (%H:%M:%S)")).save()
    print('New bet from:' + str(user.nickname))
    bot.send_message(
        call.message.chat.id,
        text=f'Ставка принята: {bet_size}$ на "{in_message_bet}"\n'
        f'Ждите пока шарик остановится',
        reply_markup=roulette_kb)
Beispiel #24
0
def select_admission_year(message):
    answer = ""

    sql_con = functions.get_connection()
    cursor = sql_con.cursor()
    cursor.execute(
        """SELECT study_programs_json, study_level_name, 
                             study_program_combination_name
                      FROM user_choice 
                      WHERE user_id = %s""", (message.chat.id, ))
    data = cursor.fetchone()
    cursor.close()
    sql_con.close()

    study_programs = loads(data[0])
    study_level_name = data[1]
    study_program_combination_name = data[2]
    study_level_names = []
    for study_program in study_programs:
        study_level_names.append(study_program["StudyLevelName"])
    index = study_level_names.index(study_level_name)
    study_program_combinations = study_programs[index][
        "StudyProgramCombinations"]
    study_program_combination_names = []
    for study_program_combination in study_program_combinations:
        study_program_combination_names.append(
            study_program_combination["Name"])
    index = study_program_combination_names.index(
        study_program_combination_name)
    admission_years = study_program_combinations[index]["AdmissionYears"]
    admission_year_names = []
    for admission_year in admission_years:
        admission_year_names.append(admission_year["YearName"].strip())
    if message.text in admission_year_names:
        answer += "Укажи группу:"
        index = admission_year_names.index(message.text)
        study_program_id = admission_years[index]["StudyProgramId"]
        student_groups = get_groups(study_program_id)
        student_group_names = []
        for student_group in student_groups["Groups"]:
            student_group_names.append(student_group["StudentGroupName"])
        student_groups_keyboard = ReplyKeyboardMarkup(resize_keyboard=True,
                                                      one_time_keyboard=False)
        for student_group_name in student_group_names:
            student_groups_keyboard.row(student_group_name)
        student_groups_keyboard.row("Другой год")
        data = dumps(student_groups)

        sql_con = functions.get_connection()
        cursor = sql_con.cursor()
        cursor.execute(
            """UPDATE user_choice 
                          SET admission_year_name = %s, 
                              student_groups_json = %s 
                          WHERE user_id = %s""",
            (message.text, data, message.chat.id))
        sql_con.commit()
        cursor.close()
        sql_con.close()

        bot.send_message(message.chat.id,
                         answer,
                         reply_markup=student_groups_keyboard)
        set_next_step(message.chat.id, "select_student_group")
    elif message.text == "Другая программа":
        sql_con = functions.get_connection()
        cursor = sql_con.cursor()
        cursor.execute(
            """SELECT study_level_name
                          FROM user_choice 
                          WHERE user_id = %s""", (message.chat.id, ))
        data = cursor.fetchone()
        cursor.close()
        sql_con.close()

        message.text = data[0]
        select_study_level(message)
        return
    else:
        answer += "Пожалуйста, укажи год:"
        bot.send_message(message.chat.id, answer)
        set_next_step(message.chat.id, "select_admission_year")
Beispiel #25
0
 def question_country(cls):
     markup = ReplyKeyboardMarkup()
     markup.row(btn.btn1, btn.btn2)
     markup.resize_keyboard = True
     return markup
Beispiel #26
0
def select_student_group(message):
    answer = ""

    sql_con = functions.get_connection()
    cursor = sql_con.cursor()
    cursor.execute(
        """SELECT student_groups_json
                      FROM user_choice 
                      WHERE user_id = %s""", (message.chat.id, ))
    data = cursor.fetchone()[0]
    cursor.close()
    sql_con.close()

    student_groups = loads(data)
    student_group_names = []
    for student_group in student_groups["Groups"]:
        student_group_names.append(student_group["StudentGroupName"].strip())
    if message.text in student_group_names:
        index = student_group_names.index(message.text)
        student_group_id = student_groups["Groups"][index]["StudentGroupId"]

        sql_con = functions.get_connection()
        cursor = sql_con.cursor()
        cursor.execute(
            """UPDATE user_choice 
                          SET student_group_name = %s, 
                              student_group_id = %s 
                          WHERE user_id = %s""",
            (message.text, student_group_id, message.chat.id))
        sql_con.commit()
        cursor.execute(
            """SELECT division_name, study_level_name, 
                                 study_program_combination_name,
                                 admission_year_name, student_group_name 
                          FROM user_choice 
                          WHERE user_id = %s""", (message.chat.id, ))
        data = cursor.fetchone()
        cursor.close()
        sql_con.close()

        text = ">> " + "\n>> ".join(data)
        answer += "Подтверди выбор:\n" + "<b>" + text + "</b>"
        choice_keyboard = ReplyKeyboardMarkup(resize_keyboard=True,
                                              one_time_keyboard=False)
        buttons = [
            "Все верно", "Другая группа", "Другой год", "Другая программа",
            "Другая ступень", "Другое направление"
        ]
        for button in buttons:
            choice_keyboard.row(button)
        bot.send_message(message.chat.id,
                         answer,
                         parse_mode="HTML",
                         reply_markup=choice_keyboard)
        set_next_step(message.chat.id, "confirm_choice")
    elif message.text == "Другой год":
        sql_con = functions.get_connection()
        cursor = sql_con.cursor()
        cursor.execute(
            """SELECT study_program_combination_name
                          FROM user_choice 
                          WHERE user_id = %s""", (message.chat.id, ))
        data = cursor.fetchone()
        cursor.close()
        sql_con.close()

        message.text = data[0]
        select_study_program_combination(message)
        return
    else:
        answer += "Пожалуйста, укажи группу:"
        bot.send_message(message.chat.id, answer)
        set_next_step(message.chat.id, "select_student_group")
Beispiel #27
0
 def basket(cls):
     markup = ReplyKeyboardMarkup()
     markup.row(btn.btn13, btn.btn12)
     markup.resize_keyboard = True
     return markup
Beispiel #28
0
    def queue_callback(self):
        #print 'sqlite_callback'
        try:
            message = self.request_queue.get_nowait()
        except QueueEmpty:
            pass
        else:
            start = False
            is_reset = False
            if message['text'] in [COMMANDS['full_cmd'], COMMANDS['full_txt']]:
                message.update({
                    'date': int(time.time()),
                    'kbm': '3',
                    'osago_type': 'full'
                })
                row = self.sql.execute(''' INSERT INTO osago (date, chat_id, username, first_name, last_name, osago_type) VALUES (%(date)s, '%(chat_id)s', '%(username)s', '%(first_name)s', '%(last_name)s', '%(osago_type)s');''' % message)
                start = True
            elif message['text'] in [COMMANDS['simple_cmd'], COMMANDS['simple_txt']]:
                message.update({
                    'date': int(time.time()),
                    'osago_type': 'simple',
                    'vladelec': '1',
                    'usloviya': '0',
                    'kbm': '3',
                    'tip_ts': 'b',
                    'region': '3',
                    'period_in': '10'
                })
                row = self.sql.execute(''' INSERT INTO osago (date, chat_id, username, first_name, last_name, vladelec, usloviya, tip_ts, region, period_in, osago_type, kbm) VALUES (%(date)s, '%(chat_id)s', '%(username)s', '%(first_name)s', '%(last_name)s', '%(vladelec)s', '%(usloviya)s', '%(tip_ts)s', '%(region)s', '%(period_in)s', '%(osago_type)s', '%(kbm)s');''' % message)
                start = True
            elif message['text'] in [COMMANDS['reset_cmd'], COMMANDS['reset_txt']]:
                markup = ReplyKeyboardMarkup(row_width=2, resize_keyboard=True)
                # button_osago = KeyboardButton(text=COMMANDS['full_txt'])
                button_simple = KeyboardButton(text=COMMANDS['simple_txt'])
                # markup.add(button_osago)
                markup.add(button_simple)
                self.response_queue.put({
                    'chat_id':message['chat_id'],
                    'wait_message_id':message['wait_message_id'],
                    'message_text':WELCOME_TEXT,
                    'markup': markup
                })
                is_reset = True
            elif message['text'] == 'contact':
                self.save_contact(message)
                markup = ReplyKeyboardMarkup(one_time_keyboard=True, resize_keyboard=True)
                reset_button = KeyboardButton(text=COMMANDS[u'reset_txt'])
                markup.add(reset_button)
                self.response_queue.put({
                    'chat_id':message['chat_id'],
                    'wait_message_id':message['wait_message_id'],
                    'message_text': 'contact',
                    'markup': markup
                })
                is_reset = True

            if not is_reset:
                self.sql.commit()
                question, markup, is_calc = self.get_question(message, start=start)
                self.response_queue.put({
                    'chat_id':message['chat_id'],
                    'wait_message_id':message['wait_message_id'],
                    'message_text':question,
                    'markup': markup
                })
                if is_calc:
                    markup = InlineKeyboardMarkup()
                    url_button = InlineKeyboardButton(text="Перейти на наш сайт", url=URL)
                    markup.add(url_button)
                    question = u'Более подробную информацию Вы можете узнать на нашем сайте.'
                    self.response_queue.put({
                        'chat_id':message['chat_id'],
                        'wait_message_id':message['wait_message_id'],
                        'message_text': question,
                        'markup': markup
                    })
            self.request_queue.task_done()
Beispiel #29
0
def reply(id, message):
    vip_id = file_reader("id/vip_id.txt", "\n")
    if vip_id.__contains__(id):
        keyboard = ReplyKeyboardMarkup(resize_keyboard=True)
        keyboard.row('Інформація', "Відкрити двері")
        keyboard.row("Подивитися паролі")
        keyboard.row("Добавити адміністратора")
        keyboard.max_row_keys = 4
        print('Received:', message)
        now = datetime.datetime.now()
        if message.lower() == 'інформація':
            os.system('vcgencmd measure_temp > /home/pi/raspberry_bot/id/bot')
            with open('id/bot', 'r') as file:
                temp = file.read()
                bot.send_message(id,
                                 temp + 'Час: ' + str(now.hour) + ':' +
                                 str(now.minute) + ':' + str(now.second) +
                                 '\n' + 'Дата: ' + str(now.day) + '/' +
                                 str(now.month) + str('/') + str(now.year),
                                 reply_markup=keyboard)
        elif message.lower() == 'відкрити двері':
            bot.send_message(id, 'Відкрито...', reply_markup=keyboard)
            # GPIO.output(red_led_pin, True)
            sleep(2)
            # GPIO.output(red_led_pin, False)
            bot.send_message(id, 'Зачинено!', reply_markup=keyboard)
        elif message.lower() == 'подивитися паролі':
            passwords = file_reader("id/pass.txt", "#*#")
            bot.send_message(id, "\n".join(passwords))
        elif message.lower() == "добавити адміністратора":
            user_id = file_reader("id/id.txt", "\n")
            s = ""
            num = 1
            for i in user_id:
                if (str(i) == ""):
                    break
                else:
                    s += str(num) + ". " + str(i) + "\n"
                    num += 1
            j = 1
            inline_keboard = InlineKeyboardMarkup()
            while j < num:
                data = "data" + str(j)
                but1 = InlineKeyboardButton(text=str(j), callback_data=data)
                inline_keboard.add(but1)
                j += 1
            global count_users
            count_users = num - 1
            bot.send_message(id, s, reply_markup=inline_keboard)
    else:
        keyboard = ReplyKeyboardMarkup(resize_keyboard=True)
        keyboard.row('Інформація', "Відкрити двері")
        print('Received:', message)
        now = datetime.datetime.now()
        if message.lower() == 'інформація':
            os.system('vcgencmd measure_temp > /home/pi/raspberry_bot/id/bot')
            with open('id/bot', 'r') as file:
                temp = file.read()
                bot.send_message(id,
                                 temp + 'Час: ' + str(now.hour) + ':' +
                                 str(now.minute) + ':' + str(now.second) +
                                 '\n' + 'Дата: ' + str(now.day) + '/' +
                                 str(now.month) + str('/') + str(now.year),
                                 reply_markup=keyboard)
        elif message.lower() == 'відкрити двері':
            bot.send_message(id, 'Відкрито...', reply_markup=keyboard)
            # GPIO.output(red_led_pin, True)
            sleep(2)
            # GPIO.output(red_led_pin, False)
            bot.send_message(id, 'Зачинено!', reply_markup=keyboard)
Beispiel #30
0
def inf_markup():
    markup = ReplyKeyboardMarkup(row_width=2, resize_keyboard=True)
    markup.row('О Сервисе', 'FAQ')
    markup.row('Список клиентов', 'Назад')
    return markup