def get_text_messages(message): if user.known(message.from_user.id): if message.text.lower() in ['привет', 'ghbdtn', '/start', 'старт']: bot.send_message( message.from_user.id, get_hello_start() + user.name(message.from_user.id)) bot.send_message(message.from_user.id, command.hello_mess(message.from_user.id)) else: if command.number(message.from_user.id, message.text.lower())[0]: command_id = command.number(message.from_user.id, message.text.lower())[1] bot.send_message( message.from_user.id, random.choice(commands[command_id].hello_words)) if commands[command_id].ask_day: calendar_1 = CallbackData("calendar_1", "action", "year", "month", "day") bot.send_message( message.from_user.id, 'с помощью клавиатуры', reply_markup=telebot_calendar.create_calendar( name=calendar_1.prefix, year=datetime.datetime.now().year, month=datetime.datetime.now().month)) @bot.callback_query_handler(func=lambda call: call.data. startswith(calendar_1.prefix)) def callback_inline(call: CallbackQuery): name, action, year, month, day = call.data.split( calendar_1.sep) date = telebot_calendar.calendar_query_handler( bot=bot, call=call, name=name, action=action, year=year, month=month, day=day) if action == "DAY": bot.send_message( chat_id=call.from_user.id, text=f"Вы выбрали {date.strftime('%d.%m.%Y')}", reply_markup=ReplyKeyboardRemove(), ) bot.send_message( call.from_user.id, commands[command_id].procedure_name) result = create_tred( commands[command_id].procedure_name, date) bot.send_message(call.from_user.id, result[1]) if call.from_user.id != user.master(): bot.send_message( user.master(), 'Хозяин, для пользователя ' + user.name(call.from_user.id) + ' было выполнено задание ' + str(command_id)) elif action == "CANCEL": bot.send_message( chat_id=call.from_user.id, text="Вы решили ничего не выбирать", reply_markup=ReplyKeyboardRemove(), ) else: result = create_tred(commands[command_id].procedure_name, commands[command_id].procedure_arg) if result[0]: if commands[command_id].return_file: for file in result[1].split(';'): bot.send_document(message.from_user.id, open(file, 'rb')) os.remove(file) if message.from_user.id != user.master(): bot.send_message( user.master(), 'Хозяин, для пользователя ' + user.name(message.from_user.id) + ' было выполнено задание ' + str(command_id)) else: bot.send_message(message.from_user.id, result[1]) if message.from_user.id != user.master(): bot.send_message( user.master(), 'Хозяин, для пользователя ' + user.name(message.from_user.id) + ' было выполнено задание ' + str(command_id)) else: bot.send_message(message.from_user.id, result[1]) if message.from_user.id != user.master(): bot.send_message(user.master(),\ 'Хозяин, что-то сломалось при выполнении задания ' + str(command_id) + ' для пользователя ' + user.name(message.from_user.id) ) bot.send_message(user.master(), result[1]) else: bot.send_message( message.from_user.id, 'Возможно, у Вас нет прав на выполнение данной операции') if message.from_user.id != user.master(): bot.send_message( user.master(), 'Хозяин, пользователь ' + user.name(message.from_user.id) + ' прислал мне это:') bot.send_message(user.master(), message.text.lower()) else: bot.send_message(message.from_user.id, 'Я вас не знаю!') bot.send_message(user.master(), 'Мне написал неизвесный пользователь!') bot.send_message(user.master(), str(message.from_user.id))
import telebot import datetime import json import telebot_calendar from telebot_calendar import CallbackData from telebot.types import ReplyKeyboardRemove, CallbackQuery import config bot = telebot.TeleBot(config.token) task_calendar = CallbackData("task_calendar", "action", "year", "month", "day") tasks_list = [] def toJSON(o): if isinstance(o, datetime.datetime): return o.__str__() else: return o.__dict__ class Task: id = -1 name = "unidentified task" desc = "unidentified desc" date = datetime.datetime.now() def __init__(self, serial): if serial:
import datetime import telebot import telebot_calendar from telebot_calendar import CallbackData from telebot.types import ReplyKeyboardRemove, CallbackQuery API_TOKEN = "token" logger = telebot.logger telebot.logger.setLevel(logging.DEBUG) bot = telebot.TeleBot(API_TOKEN) # Creates a unique calendar calendar_1 = CallbackData("calendar_1", "action", "year", "month", "day") @bot.message_handler(commands=["start"]) def check_other_messages(message): """ Catches a message with the command "start" and sends the calendar :param message: :return: """ now = datetime.datetime.now() # Get the current date bot.send_message( message.chat.id, "Selected date",
def get_text_messages(message): if message.chat.id == int(os.getenv('id_chat_parus')): if 'долг' in message.text.lower() and user.known(message.from_user.id): try: id_cov = int(message.text.lower().split(' ')[1]) except: return 1 else: if id_cov in [33,36,37,38,51]: bot.delete_message(message.chat.id,message.message_id) bot.send_message(user.master(), 'запускаю поиск должников' ) send_Debtors(id_cov) #result = create_tred('send_Debtors',id_cov) else: return 1 return 1 if user.known(message.from_user.id): #bot.send_message(user.master(), str(message.chat.id) ) if message.text.lower() in ['привет', 'ghbdtn','/start','старт']: bot.send_message(message.from_user.id, get_hello_start() + user.name(message.from_user.id)) bot.send_message(message.from_user.id,command.hello_mess(message.from_user.id)) elif message.text.lower() in ['Вода','djlf','вода']: mes = bot.reply_to(message, 'Здравствуйте '+ user.name(message.from_user.id) + ' напишите номер бутылочки.') bot.register_next_step_handler(mes, voda) else: if command.number(message.from_user.id,message.text.lower())[0]: command_id = command.number(message.from_user.id,message.text.lower())[1] bot.send_message(message.from_user.id,random.choice(commands[command_id].hello_words)) if commands[command_id].ask_day: calendar_1 = CallbackData("calendar_1", "action", "year", "month", "day") bot.send_message(message.from_user.id,'с помощью клавиатуры',reply_markup=telebot_calendar.create_calendar( name=calendar_1.prefix, year=datetime.datetime.now().year, month=datetime.datetime.now().month ) ) @bot.callback_query_handler(func=lambda call: call.data.startswith(calendar_1.prefix)) def callback_inline(call: CallbackQuery): name, action, year, month, day = call.data.split(calendar_1.sep) date = telebot_calendar.calendar_query_handler( bot=bot, call=call, name=name, action=action, year=year, month=month, day=day ) if action == "DAY": bot.send_message(chat_id=call.from_user.id, text=f"Вы выбрали {date.strftime('%d.%m.%Y')}", reply_markup=ReplyKeyboardRemove(),) command_id = command.number(message.from_user.id,message.text.lower())[1] bot.send_message(call.from_user.id,commands[command_id].procedure_name) result = create_tred(commands[command_id].procedure_name,date) bot.send_message(call.from_user.id,result[1]) logi(call.from_user.id,command_id,result) elif action == "CANCEL": bot.send_message(chat_id=call.from_user.id, text="Вы решили ничего не выбирать",reply_markup=ReplyKeyboardRemove(),) else: result = create_tred(commands[command_id].procedure_name,commands[command_id].procedure_arg) if result[0]: if commands[command_id].return_file: for file in result[1].split(';'): bot.send_document(message.from_user.id, open(file, 'rb')) os.remove(file) logi(message.from_user.id,command_id,result) else: bot.send_message(message.from_user.id, result[1]) logi(message.from_user.id,command_id,result) else: bot.send_message(message.from_user.id, result[1]) logi(message.from_user.id,command_id,result) else: bot.send_message(message.from_user.id,'Возможно, у Вас нет прав на выполнение данной операции') if message.from_user.id != user.master(): bot.send_message(user.master(), 'Хозяин, пользователь ' + user.name(message.from_user.id) + ' прислал мне это:' ) bot.send_message(user.master(),message.text.lower()) else: bot.send_message(message.from_user.id,'Я вас не знаю!') bot.send_message(user.master(),'Мне написал неизвесный пользователь!') bot.send_message(user.master(),str(message.from_user.id)) bot.send_message(user.master(),str(message.from_user.username))