@bot.message_handler(commands=['start'])
def start(message):
buttons = types.InlineKeyboardMarkup()
button1 = types.InlineKeyboardButton("button 1", callback_data="1")
button2 = types.InlineKeyboardButton("button 2", callback_data="2")
buttons.add(button1, button2)
bot.send_message(message.chat.id, "кнопочки", reply_markup=buttons)
@bot.callback_query_handler(func=lambda c: True)
def callback(c):
if c.data == '1':
bot.send_message(c.message.chat.id, "Вы нажали на кнопку 1!")
if c.data == '2':
bot.send_message(c.message.chat.id, "Вы нажали на кнопку 2!")
class Storage:
data: dict
def __init__(self) -> None:
self.data = {}
def set(self, name:str, value:any) -> None:
self.data[name] = value
def get(self, name:str) -> any:
return self.data[name]
# создаем экземпляр
storage = Storage()
# вводим данные
storage.set('int', 123)
storage.set('bool', False)
storage.set('str', 'striiiiiing')
storage.set('float', 0.4)
# так можно хранить объекты
storage1 = Storage()
storage1.set('test', True)
storage.set('obj', storage1)
# выводим данные
print('int', storage.get('int'))
print('float', storage.get('float'))
print('str', storage.get('str'))
teststorage = storage.get('obj')
print('obj', teststorage.get('test'))
print('bool', storage.get('bool'))
int 123
float 0.4
str striiiiiing
obj True
bool False
def get_main_btns():
markup = types.InlineKeyboardMarkup()
some_btn = types.InlineKeyboardButton()
markup.add(some_btn)
return markup
bot.send_message(CHAT_ID, "main menu", reply_markup=get_main_btns())
@client.on(events.NewMessage)
тут по логике вещей должен быть фильтер что отправитель ты сам. По крайней мере в пайрограме такая логика, за телетон не знаю