Для реализации данного функционала с помощью библиотеки Telebot, необходимо создать несколько Inline кнопок и установить им callback_data, чтобы определять какую кнопку пользователь нажал.
Пример кода:
```python
import telebot
bot = telebot.TeleBot("YOUR_TOKEN")
Number_selection = set()
@bot.callback_query_handler(func=lambda call: True)
def callback_handler(call):
if call.data.isdigit():
number = int(call.data)
if number %2 == 0:
if number in Number_selection:
Number_selection.remove(number)
else:
Number_selection.add(number)
update_buttons()
def update_buttons():
keyboard = telebot.types.InlineKeyboardMarkup()
for i in range(1, 11):
text = f"{i} \u2705" if i in Number_selection else str(i)
keyboard.add(telebot.types.InlineKeyboardButton(text=text, callback_data=str(i)))
bot.edit_message_reply_markup(chat_id=USER_ID, message_id=MESSAGE_ID, reply_markup=keyboard)
@bot.message_handler(commands=['start'])
def start(message):
keyboard = telebot.types.InlineKeyboardMarkup()
for i in range(1, 11):
text = f"{i} \u2705" if i in Number_selection else str(i)
keyboard.add(telebot.types.InlineKeyboardButton(text=text, callback_data=str(i)))
bot.send_message(message.chat.id, "Select numbers:", reply_markup=keyboard)
bot.polling()
```
В данном примере при нажатии на кнопку с числом (числа от 1 до 10), она помечается галочкой и добавляется во множество `Number_selection`. При повторном нажатии галочка убирается и число удаляется из множества. Кнопки с четными числами помечаются галочкой, только если число четное.
Для сохранения состояния галочек всех кнопок в множество `Number_selection`, необходимо использовать глобальную переменную или сохранять состояние в базе данных, если требуется сохранение данных между перезапусками.