{"message_id": "text"}
, или же {"chat_id": {"message_id": "text"}}
если бот будет использоваться не одной группой, т.к. айди сообщений могут быть одинаковыми в разных группах. Также проверяйте на изменение сообщений. Если же сообщение изменилось, то можете написать в консоль, или в чат от лица бота, что такое то сообщений было изменено, и показать, как оно выглядело ранееif database[call.from_user.id] == call.message.id:
pass
import telebot
from telebot import types
bot = telebot.TeleBot('TOKEN')
@bot.message_handler(commands=['start'])
def start(message):
bot.send_message(message.chat.id, 'Привет!✋\nМы продаём голду, аккаунты и промокоды по самым сладким ценам!\nВсегда мечтал стать крутым в стандоффе? Тогда тебе к нам!')
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
accounts = types.KeyboardButton('КУПИТЬ АККАУНТ')
promo = types.KeyboardButton('КУПИТЬ ПРОМОКОД')
gold = types.KeyboardButton('КУПИТЬ ГОЛДУ')
markup.add(accounts, promo, gold)
bot.send_message(message.chat.id, 'Выберите, что хотите купить', reply_markup=markup)
@bot.message_handler()
def get_user_text(message):
if message.text == 'КУПИТЬ АККАУНТ':
markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=1)
buy_account = types.KeyboardButton('АККАУНТ С НОЖОМ И ПЕРЧАТКАМИ - 230₽')
buy_account_1 = types.KeyboardButton('АККАУНТ С ТЫЧКАМИ - 175₽')
back_to_menu = types.KeyboardButton('НАЗАД В МЕНЮ')
markup.add(buy_account, buy_account_1, back_to_menu)
bot.send_message(message.chat.id, 'Выберите, какой аккаунт хотите купить', reply_markup=markup)
bot.polling(none_stop=True)
import telebot
from telebot import types
import threading
import time
bot = telebot.TeleBot("token")
clicked = False
timeout = 10 # Секунд
def run_in_thread(func):
def wrapper(*args, **kwargs):
thread = threading.Thread(target=func, args=args, kwargs=kwargs)
thread.start()
return wrapper
@run_in_thread
def asynchronous():
global clicked
while True:
if clicked:
time.sleep(timeout)
clicked = False
@bot.message_handler(commands=["start"])
def start(message):
markup = types.InlineKeyboardMarkup()
hello_button = types.InlineKeyboardButton(text="Показать процессоры", callback_data="cpu")
markup.add(hello_button)
bot.send_message(message.chat.id, "Здравствуйте, %s!" % (f"[{message.from_user.first_name}](tg://user?id={message.from_user.id})"), parse_mode="markdown", reply_markup=markup)
@bot.callback_query_handler(func=lambda call: True)
def callback_worker(call):
global clicked
if clicked:
bot.answer_callback_query(call.id, "Попробуйте снова через 10 секунд!", show_alert=True)
return
if call.data == "cpu":
clicked = True
bot.send_message(call.from_user.id, "Процессоры..")
if __name__ == "__main__":
asynchronous()
bot.polling(none_stop=True, interval=0)
import telebot
import config
bot = telebot.TeleBot(
token=config.token
)
@bot.message_handler(content_types=["photo"])
def get_photo(message):
bot.send_photo(message.from_user.id, message.photo[0].file_id, message.caption)
if __name__ == "__main__":
bot.infinity_polling()
message.from_user.id
и айди фото message.photo[0].file_id)
message.caption
import time
user_ids = []
for id in user_ids:
try:
bot.send_message(id, "привет")
user_ids.remove(id)
except:
time.sleep(30)
bot.polling(none_stop=True, interval=0)