Выход из программы телеграм бота и игнорирование ошибок
Как сделать чтоб при вводе "*exit" программа вырубалась? Он у меня висит всё равно. Но при вводе 3 раз "*exit" бот перестает отвечать, но программа не закрывается, висит всё равно. И ещё, при любой одной ошибке, бот беспрерывно отправляет мне инфу об ошибке, не работает дальше(отправляет бесконечно мне сообщении об ошибке и в итоге зависает, а я хочу чтоб он отправил мне сообщение об ошибке и дальше работал). Что можете предложить?
import telebot
import traceback
class Bot:
"""docstring for bot"""
def __init__(self, token):
self.server_name="bot"
self.tg=telebot.TeleBot(token=token)
self.tg_m=telebot.types
def sms(self,chat_id,text,parse_mode=None,reply_to_message_id=None,reply_markup=None):
self.tg.send_message(chat_id=chat_id,text=text,parse_mode=parse_mode,reply_to_message_id=reply_to_message_id,reply_markup=reply_markup)
def means(self,message):
message=message
try:
Return=message
except: Return=""
if Return!="":
chat_id=message.chat.id
user_id=message.from_user.id
message_id=message.message_id
try:
first_name=message.from_user.first_name
except:
first_name=""
try:
last_name=" "+message.from_user.last_name
except:
last_name=""
return chat_id, user_id, message_id, first_name, last_name
def get(self,chat_id):
r=self.tg.get_chat_members_count(chat_id=chat_id)
return r
def photo(self,chat_id,file_id=None,file_size=None,caption=None,parse_mode=None):
self.tg.send_photo(chat_id=chat_id,photo=file_id,caption=caption,parse_mode=parse_mode)
def button(self,text=None):
R=self.tg_m.ReplyKeyboardMarkup(resize_keyboard=True,one_time_keyboard=True)
R.row('/start','hello')
return R
def start(self):
while True:
try:
`@self.tg.message_handler(commands=['start'])
def answer(message):
chat_id, user_id, message_id, first_name, last_name=self.means(message=message)
markup=self.button()
self.sms(chat_id=chat_id,text="Welcome my master.",reply_markup=markup)
@self.tg.message_handler(content_type=["text"])
def answer_1(message):
chat_id, user_id, message_id, first_name, last_name=self.means(message=message)
if message.text=='hello':
print("123")
self.sms(chat_id=chat_id,text="Hi.\nHow are you?")`
elif msg.lower()=="*exit":
self.sms(chat_id=chat_id,text="Бот выключается!")
exit()
try:
self.tg.polling(none_stop=True,interval=0)
except Exception as e:
try:
print(traceback.format_exc())
self.sms(chat_id="your_telegram_id",text="Error!\n"+traceback.format_exc())
except:
print(traceback.format_exc())
except Exception as e:
try:
print(traceback.format_exc())
self.sms(chat_id="your_telegram_id",text="Error!\n"+traceback.format_exc())
except:
print(traceback.format_exc())
bot=Bot(token="token")
bot.start()