M
M
Muck Runout2022-03-10 19:35:47
Python
Muck Runout, 2022-03-10 19:35:47

How to make the bot stop responding to commands on command?

telebot library
Here is the code:

import telebot, bs4, requests
from telebot import types
import time
import random
from random import randint
from datetime import datetime, date
bot = telebot.TeleBot('тут мой токен')
t = time.strftime("%d.%m.%Y")
v = time.strftime("%H:%M:%S")
a = time.strftime("2022-06-01")
b = time.strftime("%Y-%m-%d")
x = 0
op = ["Да", "Нет", "Ахахаххаха"]
arel = ["Орёл", "Решка"]
@bot.message_handler(content_types=['text'])
def get_text_messages(message):
    if message.text == "Орёл или решка":
    	bot.send_message(message.chat.id,"*Бросаю монетку*")
    	bot.send_message(message.chat.id,  random.choice(arel))
  #  if message.text == "Жмал алё":
    #	bot.send_message(message.chat.id, "*звонок*")
    	#time.sleep(1)
    #	bot.send_message(message.chat.id, "*слаживаем газетку*")
    #	time.sleep(2)
    #	bot.send_message(message.chat.id, "Да?")
    #	while True:
    		
    	#	bot.send_message(message.chat.id,  random.choice(op))
    	#	time.sleep(2)
    if message.text == "Жмал связь":
    	bot.reply_to(message, "Связь с разрабом:\nТикток - @imnoim_\[email protected]\ndiscord-kvashonka#7777")
    if message.text == "Жмал дата":
    	bot.reply_to(message, message.from_user.first_name + " Сегодня " + t)
    if message.text == "Жмал время":
    	bot.reply_to(message, message.from_user.first_name + " Сейчас " + v)
    if message.text == "/[email protected]":
        bot.send_message(message.chat.id, "Из комманд /help, /start, /ant, /info, /[email protected] Привет Жмал, Жмал, Жмал рандом, Жмал кость, Жмал страшилку, Жмал время, Жмал дата")
    if message.text == "/[email protected]":
        bot.send_message(message.chat.id,"Привет, что-бы узнать команды напиши /help!")
    if message.text == "Жмал":
        bot.send_message(message.chat.id, "чего тебе сударь")
    if message.text == "Жмал рандом":
    	bot.send_message(message.chat.id, random.randint(0, 100))
    if message.text == "Жмал кость":
    	bot.send_message(message.chat.id,random.randint(1, 6))
    if message.text == "/help":
        bot.send_message(message.chat.id, "чтобы узнать комманды надо написать /[email protected]")
    if message.text == "/start":
        bot.send_message(message.chat.id,"Привет, что-бы узнать команды напиши /help!")
    if message.text == "/[email protected]":
    	bot.send_message(message.chat.id,"Дата создания: 20.02.2022\nСоздатель: @imnoim\nИИ: отсутствует\n⚙️Версия: 1.0.7\nСтатус: неизвестно")
    if message.text == "Жмал отключись":
    	#тут надо что бы по команде бот перестал реагировать на команды кроме нижней
    if message.text == "Жмал включись":
    	#надо что бы после отключения реакции на команды эта команда могла работать


bot.remove_webhook()
if __name__ == '__main__':
    bot.polling(none_stop=True)

Look at the last lines (If you notice stupid mistakes somewhere, tell me)

Answer the question

In order to leave comments, you need to log in

1 answer(s)
M
MinTnt, 2022-03-10
@MinTnt

ignore = {}
@bot.message_handler(content_types=['text'])
def get_text_messages(message):
    if ignore.get(message.chat.id):
        if message.text == "Жмал включись":
            ignore.pop(message.chat.id)
    else:
        if message.text == "Жмал выключись":
            ignore[message.chat.id] = True

        elif ...:
            ...

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question