Форум сайта python.su
Здравствуйте!
Гуру, помогите (если не затруднит) написать код для телеграм бота, чтобы нажимая в телеге на кнопку - выдавалась температура с удаленного девайса через OID.
Тоже самое, что и в винде:
snmpget.exe -r:ip -p:161 -v:2c -c:public -q -o:.1.3.6.1.4.1.47394.1.3.1.9.201001
(этот же запрос, только в питоне под кнопку “температура в помещении:”).
Данный код работает, но присылает ответ температуры в терминал, поправьте плиз код, чтобы ответ присылался в телегу. Что не делаю, вечно получаю разного рода ошибки, голову сломал.
Python 3.11
import telebot from telebot import types import config import subprocess bot = telebot.TeleBot(config.token) @bot.message_handler(commands=['start']) def start(message): markup = types.ReplyKeyboardMarkup(resize_keyboard=True) btn1 = types.KeyboardButton("Temp Cold Zone") markup.add(btn1) bot.send_message(message.chat.id, text="Welcome, {0.first_name}!".format( message.from_user), reply_markup=markup) @bot.message_handler(content_types=['text']) def func(message): markup = types.ReplyKeyboardMarkup(resize_keyboard=True) if (message.text == "Temp Cold Zone"): bot.send_message(message.chat.id, text="Температура холодной зоны:", reply_markup=markup) subprocess.call("snmpget.exe -r:172.16.*.* -p:161 -v:2c -c:public -q -o:.1.3.6.1.4.1.47394.1.3.1.9.201001") bot.polling()
Отредактировано Trantor78 (Сен. 4, 2023 17:48:36)
Офлайн
def func(message): markup = types.ReplyKeyboardMarkup(resize_keyboard=True) if (message.text == "Temp Cold Zone"): msg = subprocess.call("snmpget.exe -r:172.16.*.* -p:161 -v:2c -c:public -q -o:.1.3.6.1.4.1.47394.1.3.1.9.201001") bot.send_message(message.chat.id, text=f"Температура холодной зоны: {msg}", reply_markup=markup) bot.polling()
Офлайн
Si vous cherchez où regarder la temévision française gratuitement, replay m6 gratuit ce sera le meilleur choix pour vous. Notre site Web fournit une télévision française totalement gratuite pour vous aider à découvrir la télévision française d'une manière merveilleuse.
Офлайн