try:
bot.delete_message(chat_id='id чата', message_id='id сообщения')
except Exception as ex:
print(ex)
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
if call.message:
for row in call.message.json['reply_markup']['inline_keyboard']:
if call.data==row[0]['callback_data']:
print(f'Текст на нажатой кнопке: {row[0]["text"]}')
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
if call.message:
for row in call.message.json['reply_markup']['inline_keyboard']:
print(row[0]['text'])
random_choice = ""
@bot.message_handler(commands = ['team'])
def team(message):
local_random_choice = random.choice(team_name) #Рандомный элемент, который меняется после вызова команды
global random_choice #Задаём глобальную переменную
while random_choice == local_random_choice:
local_random_choice = random.choice(team_name)
random_choice = local_random_choice #После итераций замены рандомного элемента наконец меняем глобальную переменную
bot.send_message(message.from_user.id, random_choice)
bot.register_next_step_handler
. Вы привязываете его к отправленной команде, а нужно к сообщению с просьбой указать номер:msg = bot.send_message(message.from_user.id, "Введите номер телефона. Пример: 79xxxxxxxxx")
number = bot.register_next_step_handler(msg, bomber)
def bomber(message):
while True:
number = message.text
documentList = ['D:\\My files\\Desktop\\telegram\\прайс 16 апрель.xls',
'D:\\My files\\Desktop\\telegram\\прайс 17 апрель янги.xls',
'D:\\My files\\Desktop\\telegram\\Драг Промоущн прайс 19 апрель.xls',
'D:\\My files\\Desktop\\telegram\\прайс 21 апрель янги.xls']
@bot.callback_query_handler(func=lambda call: True)
def callback_worker(callback):
for row in documentList:
bot.send_document(callback.message.chat.id, open(row, 'rb'))
time.sleep(5)
@bot.message_handler(commands=['keyboard','start'])
Функция с использованием команды start уже была выше, поэтому программа не доходит до этой части кода для команды start. Если хотите вызвать обе функции, то сделайте так:@bot.message_handler(commands=['start'])
def handle_start(message):
bot.send_message(message.chat.id, "Приветствую, студент.")
bot.send_message(message.chat.id, "Ты попал в чат-бот Беловского педагогического колледжа.")
bot.send_message(message.chat.id, "Напишите /help чтобы ознакомиться с функциями или выберите пункт меню.")
hendler_keyboard(message)
@bot.message_handler(commands=['keyboard','start'])
@bot.message_handler(commands=['addbutton'])
def addingbtn(message):
check_name=bot.send_message(message.from_user.id, f'Текст кнопки?')
action='adding'
bot.register_next_step_handler(check_name, adding_name, action)
@bot.message_handler(commands=['delbutton'])
def delbutn(message):
check_name=bot.send_message(message.from_user.id, f'Текст кнопки?')
action='deleting'
bot.register_next_step_handler(check_name, adding_name, action)
def adding_name(message, action):
try:
sql.execute(f"SELECT * FROM keyboards WHERE text = '{message.text}'")
found_text=sql.fetchone()
except:
found_text=None
text=message.text
check_url=bot.send_message(message.from_user.id, f'URL кнопки?')
bot.register_next_step_handler(check_url, adding_url, text, found_text, action)
def adding_url(message, text, found_text, action):
try:
sql.execute(f"SELECT * FROM keyboards WHERE url = '{message.text}'")
found_url=sql.fetchone()
except:
found_url=None
url=message.text
if found_text!=None:
if action.lower()=='adding':
sql.execute("UPDATE keyboards SET text = ?, url = ? WHERE text = ?", (text, url, text))
db.commit()
bot.reply_to(message, text=f"✅ Вы успешно изменили кнопку")
elif action.lower()=='deleting':
sql.execute(f"DELETE FROM keyboards WHERE text = '{text}'")
db.commit()
bot.reply_to(message, text=f"✅ Вы успешно удалили кнопку")
elif found_url!=None:
if action.lower()=='adding':
print(text)
sql.execute("UPDATE keyboards SET text = ?, url = ? WHERE url = ?", (text, url, url))
db.commit()
bot.reply_to(message, text=f"✅ Вы успешно изменили кнопку")
elif action.lower()=='deleting':
sql.execute(f"DELETE FROM keyboards WHERE url = '{url}'")
db.commit()
bot.reply_to(message, text=f"✅ Вы успешно удалили кнопку")
else:
if action.lower()=='adding':
sql.execute("INSERT INTO keyboards VALUES (?, ?)", (text, url))
db.commit()
bot.reply_to(message, text=f"✅ Вы успешно добавили новую кнопку")
elif action.lower()=='deleting':
bot.reply_to(message, text=f"❌ Кнопка не найдена в базе данных")
sql.execute(f"SELECT * FROM keyboards")
print(sql.fetchall())
async def kill(ctx, *member: discord.Member = None):
#Часть кода...
for user in member:
load1=discord.Embed(title="Тебя убили", description = f"{ctx.author.mention} заебашил {user.mention}", color=2358184)
load1.set_author(name = pybot.user.name, icon_url = cap.avatar_url)
load1.set_image(url = "gif")
await ctx.channel.send(embed = load1)
var markup
таким образом:var markup = new ReplyKeyboardMarkup(list, resizeKeyboard=True);
@bot.message_handler(content_types=['text'])
def chatting(message):
bot.delete_message(message.chat.id, message.message_id)
@bot.message_handler(content_types=['text'])
def chatting(message):
if message.text=='запрещённое слово':
bot.delete_message(message.chat.id, message.message_id)