@I-Cube

Python / Telebot — как боту отправить текст из файла?

Всем привет!
Решил упростить себе жизнь с блокировкой учеток в домене.
Иногда бываю не на месте, а учетки заблочены и юзеры не могут нормально пользоваться сетью, принтерами, etc.
В планировщике по событию EventID #4740 запускается скрипт на PowerShell и записывает в файл blocked.txt имена заблокированных пользователей.
Дальше скрипт на Python считывает этот список и данные пересылаются ботом в Telegram, где я его анализирую. Если есть срочная необходимость разблокировать учетку (н-р: гендиректор или еще какая шишка), то отправляю команду боту /unblock и запускается PowerShell-скрипт с разлочкой.
Не могу решить эту задачу:
import os
import telebot

def read_blocked():
    with open("blocked.txt", "r") as file:
        content = file.read()
        print(content)

bot = telebot.TeleBot('TOKEN')
bot.send_message(chat_id='##', text='ДАННЫЕ ИЗ ФАЙЛА blocked.txt')

Как передать данные из текстовика?
Пробовал вставлять в text = 'read_blocked()', не работает, он тупо отсылает эту же команду.
Знаю, для вас это будет очень просто, я совсем не понимаю Python.
  • Вопрос задан
  • 137 просмотров
Решения вопроса 1
@AlexStrelnikov
У вас открыт файл blocked.txt и его данные присвоены переменно content.
В этой строчке, если я вас правильно понял, должно быть так:
def read_blocked():
    with open("blocked.txt", "r") as file:
        content = file.read()
        return content

bot = telebot.TeleBot('TOKEN')
bot.send_message(chat_id='##', text=read_blocked())

return, аналогично Powershell, вернет файл. read_blocked() вызывает функцию, в Powershell это бы делалось так read_blocked
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@I-Cube Автор вопроса
Люди, не подскажете как реализовать запуск скрипта хэндлером?
/script и в ОС запускается script.cmd.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы