예제 #1
0
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))
예제 #2
0
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:
예제 #3
0
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",
예제 #4
0
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))