Задать вопрос
  • Проблема с авторизацией в скрипт. Как решить???

    Попробуй
    import requests
    import json
    import os
    
    AUTHORIZED_MACS_FILE = "authorized_macs.txt"
    BOT_TOKEN = 
    CHAT_ID = 
    
    def mac_allowed(mac):
        if os.path.exists(AUTHORIZED_MACS_FILE):
            with open(AUTHORIZED_MACS_FILE, "r") as file:
                macs = file.read().splitlines()
            return mac in macs
        return False
    
    def add_mac(mac):
        with open(AUTHORIZED_MACS_FILE, "a") as file:
            file.write(mac + "\n")
    
    def notification(mac):
        message = f"MAC-адрес {mac} хочет авторизоваться в SMOKE TOOL."
        keyboard = {
            "inline_keyboard": [
                [{"text": "Разрешить", "callback_data": f"allow:{mac}"},
                 {"text": "Отклонить", "callback_data": f"deny:{mac}"}]
            ]
        }
        url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"
        data = {"chat_id": CHAT_ID, "text": message, "reply_markup": json.dumps(keyboard)}
        try:
            response = requests.post(url, json=data)
            response.raise_for_status()  # Проверка на ошибки HTTP
        except Exception as e:
            print(f"Ошибка при отправке уведомления в Telegram: {e}")
    
    def handle_telegram_response(callback_data):
        try:
            action, mac = callback_data.split(":")
            if action == "allow":
                add_mac(mac)
                send_telegram_message(f"MAC-адрес {mac} был разрешен.")
            elif action == "deny":
                send_telegram_message(f"MAC-адрес {mac} был отклонен.")
            else:
                send_telegram_message("Неизвестное действие.")
        except ValueError:
            print("Некорректные данные в callback_data.")
            send_telegram_message("Ошибка обработки данных.")
    
    def send_telegram_message(message):
        url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"
        data = {"chat_id": CHAT_ID, "text": message}
        try:
            response = requests.post(url, json=data)
            response.raise_for_status()
        except Exception as e:
            print(f"Ошибка при отправке сообщения: {e}")
    
    def main():
        mac = input("Введите MAC-адрес: ").strip()
        if not mac:
            print("Ошибка: MAC-адрес не может быть пустым.")
            return
        if mac_allowed(mac):
            print("Доступ разрешен.")
        else:
            notification(mac)
            print("Запрос на авторизацию отправлен.")
    
    if __name__ == "__main__":
        main()
    Ответ написан
    Комментировать