Телеграм бот на django
В проекте на django есть сигналы, которые, при выборе работника на какое-либо дело ему начисляется зарплата за количество сделанной работы. Код сигнала выглядит примерно так:
@receiver(pre_save, sender=ClothProductModel) # Декоратор отлова сигнала
def on_cloth_bichuv_employee(sender, instance: ClothProductModel, **kwargs):
if instance.pk is not None: # Если работника до этого еще не было
if instance.bichuv_employee is not None:
if instance.bichuv_count == 0: # Проверка, что работника не меняли еще раз
salary = instance.material_taked.material.for_model.price_bichuv * instance.material_taked.count # Вычисление зарплаты работни за сделанное кол-во материала
instance.bichuv_employee.salary += salary # Прибавка в модель рабюотника его зарплаты
print(instance.bichuv_employee)
text = f'''
За бичув {instance} - {instance.material_taked.count} шт по цене {instance.material_taked.material.for_model.price_bichuv} - {salary}
''' # Так-же у работника есть поле отчета - за что он получил ЗП
print(text)
instance.bichuv_employee.report += text # Добавляю отчет работнику
instance.bichuv_count += 1 # Прибавляю константу, чтобы еще раз нельзя было получить зарплату при изменении
instance.bichuv_employee.save() # Сохраняю изменение в базе работника
instance.save() # Сохраняю модель
Цель вопроса: Мне нужно в этот момент отправить в телеграм-бот начальнику такой же текст из переменной text
По статье я создал команду bot, которая поднимает бота, но не представляю как в сигнал добавить отправку сообщения.
Хочу добиться чего то подобного:
@receiver(pre_save, sender=ClothProductModel) # Декоратор отлова сигнала
def on_cloth_bichuv_employee(sender, instance: ClothProductModel, **kwargs):
if instance.pk is not None: # Если работника до этого еще не было
if instance.bichuv_employee is not None:
if instance.bichuv_count == 0: # Проверка, что работника не меняли еще раз
salary = instance.material_taked.material.for_model.price_bichuv * instance.material_taked.count # Вычисление зарплаты работни за сделанное кол-во материала
instance.bichuv_employee.salary += salary # Прибавка в модель рабюотника его зарплаты
print(instance.bichuv_employee)
text = f'''
За бичув {instance} - {instance.material_taked.count} шт по цене {instance.material_taked.material.for_model.price_bichuv} - {salary}
''' # Так-же у работника есть поле отчета - за что он получил ЗП
print(text)
bot.send_message(settings.BOSS_ID, text)
instance.bichuv_employee.report += text # Добавляю отчет работнику
instance.bichuv_count += 1 # Прибавляю константу, чтобы еще раз нельзя было получить зарплату при изменении
instance.bichuv_employee.save() # Сохраняю изменение в базе работника
instance.save() # Сохраняю модель
Уже голову сломал. Возможно ли подобное сделать? Или есть какой-то более элегантный вариант?