@bot.message_handler(content_types=['text'])
стоит выше обработчика команды @bot.message_handler(commands=['profile'])
.@bot.message_handler(content_types=['text'])
def get_text_messages(message):
handle_profile_command
.# Я бы закинул все обработчики кнопок в свои хэндлеры (с call аналогичено)
@bot.message_handler(func=lambda m: m.text and m.text == 'Zeptat se✏️')
def handle_user_question(message):
bot.send_message(message.chat.id, 'Напишите сюда Ваш вопрос. Менеджер свяжется с Вами.')
bot.send_message(manager, 'С вами свяжется пользователь URL')
bot.register_next_step_handler(message, proccess_user_question)
def proccess_user_question(message):
# здесь проверяем что пришло, реальный вопрос или нажали кнопку
if message.text and message.text in ['Zeptat se✏️', 'Více s soukromé komunitě', 'Platba ']:
# просто вызываем нужную функцию, которые описали выше, как пример:
if message.text == 'Zeptat se✏️':
return handle_user_question(message)
# а дальше уже если все проверки на клаву пришли, то обрабатываем как реальный вопрос
bot.send_message(manager, 'Вопрос от URL:')
bot.forward_message(manager, message.chat.id, message.message_id)
bot.send_message(message.chat.id, 'Ваш вопрос отправлен')
message_handler
из 2 версии aiogram, в 3 используется message
Количество рейсов, отображаемых на одной странице — не более 100. Информация об общем количестве полученных рейсов указана в ответе в элементеtotal
элементаpagination
.
total
из pagination
, целочисленно делите на лимит (100), прибавляете 1, и делаете цикл, в котором увеличиваете каждую итерацию параметр offset
на 100 bot.register_next_step_handler(message, choice_time_off(message, choice = choice))
register_next_step_handler
, а результат функции, т.к. вы её вызвали (choice_time_off(message, choice = choice)
).bot.register_next_step_handler(message, choice_time_off, choice)
python-telegram-bot
версии 13.10 или около того: https://github.com/python-telegram-bot/python-tele... {"sell_price_min":6198,"sell_price_min_date":"2023-06-12T19:20:00","sell_price_max":7300}
sellPriceMax
.sellPriceMax
!= sell_price_max
__init__
и всёimport sqlite3
class Database:
def __init__(self, db_file):
self.connection = sqlite3.connect(db_file)
self.cursor = self.connection.cursor()
with self.connection:
self.cursor.execute('''
CREATE TABLE IF NOT EXISTS Users (
id INTEGER PRIMARY KEY NOT NULL,
user_id INTEGER NOT NULL,
nickname TEXT (60),
time_sub NOT NULL DEFAULT (0),
signup TEXT DEFAULT setnickname
);
''')
def add_user(self, id):
with self.connection:
self.cursor.execute("INSERT INTO `Users` (`id`) VALUES (?)", (id,))
return self.cursor.execute
def user_exists(self, id):
with self.connection:
result = self.cursor.execute("SELECT * FROM `Users` WHERE `id` = ?", (id,)).fetchall()
return bool(len(result))
add_user
т.к. он принимает только один параметр - ID, а у вас 3 NOT NULL параметра