def welcome_markup(): markup = ReplyKeyboardMarkup(row_width=2, resize_keyboard=True) markup.row('Мониторинг', 'Найден') markup.row('Информация') return markup
def question_male(cls): markup = ReplyKeyboardMarkup() markup.row(btn.btn3, btn.btn4) markup.resize_keyboard = True return markup
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',
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
def generate_reply_keyboard(self, buttons: List[KeyboardButton]): kb = ReplyKeyboardMarkup(resize_keyboard=True) kb.add(*buttons) return kb
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()
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))
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
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
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
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
def render_round_buttons(data): markup = ReplyKeyboardMarkup(True, True) markup.add(*(InlineKeyboardButton('Вариант {}'.format(i)) for i in range(1, len(data) + 1))) return markup
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)
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')
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)
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']
def skip_markup(): markup = ReplyKeyboardMarkup(one_time_keyboard=True) markup.add(KeyboardButton('[OK]')) return markup
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']
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")
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)
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")
def question_country(cls): markup = ReplyKeyboardMarkup() markup.row(btn.btn1, btn.btn2) markup.resize_keyboard = True return markup
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")
def basket(cls): markup = ReplyKeyboardMarkup() markup.row(btn.btn13, btn.btn12) markup.resize_keyboard = True return markup
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()
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)
def inf_markup(): markup = ReplyKeyboardMarkup(row_width=2, resize_keyboard=True) markup.row('О Сервисе', 'FAQ') markup.row('Список клиентов', 'Назад') return markup