• Добро пожаловать на сайт - wlux.net!

    FAQ по форуму

    1. Все сообщения до группы местный проходят модерацию от 1 минуты до 24 часа

    2. Сообщения учитываються в следующих разделах: Читать

    3.Что-бы скачать вложение нужно 2 сообщения.

    4.Личные переписки работают только с Администрацией форума

    5. Запрещено: Просить скрытый текст , спам, реклама, скам, ддос, кардинг и другая чернуха, нарушать любые законы РФ/СНГ = бан аккаунта

    6. Внимание! Мы не удаляем аккаунты с форума! Будьте внимательны ДО регистрации! Как удалить аккаунт на форуме?!

    5.Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

python Исходник Скрипт бота через которого можно вырубать свой пк

Оффлайн

wlux.net

Где волчьи уши, там волчьи зубы.
Команда форума
LV
7
 
20.06.2022
23 898
218
36
Награды
10
Пол
Муж.

Репутация:

  • Автор темы
  • Администратор
  • Модератор
  • Команда форума
  • #1
ЯП : Python
Модули : telegram
База : —

Бот может открывать тг, дискорд. Переходить в режим сна и выключать пк. Скрипт надо держать всегда включенным у себя на пк.

Python:
import os
import telegram
from telegram import InlineKeyboardButton, InlineKeyboardMarkup, KeyboardButton, ReplyKeyboardMarkup
from telegram.ext import Updater, CommandHandler, CallbackQueryHandler, CallbackContext, MessageHandler, Filters

TELEGRAM_API_TOKEN = ""

ADMIN_USER_ID =   

telegram_path = None
discord_path = None


def start(update: telegram.Update, context: CallbackContext):
    user_id = update.message.from_user.id

    if user_id == ADMIN_USER_ID:
        keyboard = [
            [
                InlineKeyboardButton("Открыть Telegram", callback_data="open_telegram"),
                InlineKeyboardButton("Открыть Discord", callback_data="open_discord"),
            ],
            [
                InlineKeyboardButton("Включить режим сна", callback_data="sleep_mode"),
            ],
            [
                InlineKeyboardButton("Добавить путь до Telegram", callback_data="add_telegram_path"),
                InlineKeyboardButton("Добавить путь до Discord", callback_data="add_discord_path"),
            ],
            [
                InlineKeyboardButton("Выключить ПК", callback_data="shutdown_pc"),
            ],
        ]

        reply_markup = InlineKeyboardMarkup(keyboard)
        update.message.reply_text("Выберите действие:", reply_markup=reply_markup)
    else:
        update.message.reply_text("Извините, у вас нет доступа к этому боту.")



def button_callback(update: telegram.Update, context: CallbackContext):
    query = update.callback_query
    user_id = query.from_user.id

    if user_id != ADMIN_USER_ID:
        query.answer(text="Извините, у вас нет доступа к этому боту.")
        return

    if query. == "open_telegram":
        global telegram_path
        if telegram_path:
            os.startfile(telegram_path)
            query.answer(text="Telegram запущен!")
        else:
            query.answer(text="Добавьте путь до Telegram.exe с помощью кнопки 'Добавить путь до Telegram'.")
    elif query. == "open_discord":
        global discord_path
        if discord_path:
            os.startfile(discord_path)
            query.answer(text="Discord запущен!")
        else:
            query.answer(text="Добавьте путь до Discord.exe с помощью кнопки 'Добавить путь до Discord'.")
    elif query. == "sleep_mode":
        os.system("rundll32.exe powrprof.dll,SetSuspendState 0,1,0")
        query.answer(text="Компьютер переведен в режим сна!")
    elif query. == "add_telegram_path":
        query.message.reply_text("Введите путь до Telegram.exe:")
        context.user_data["add_telegram_path"] = True
    elif query. == "add_discord_path":
        query.message.reply_text("Введите путь до Discord.exe:")
        context.user_data["add_discord_path"] = True
    elif query. == "shutdown_pc":
       os.system("shutdown /s /t 1")
       query.answer(text="Компьютер будет выключен через 1 секунду.")



def message_callback(update: telegram.Update, context: CallbackContext):
    if context.user_data.get("add_telegram_path"):
        global telegram_path
        telegram_path = update.message.text.strip()

        if os.path.exists(telegram_path):
            update.message.reply_text(f"Путь до Telegram.exe успешно сохранен: {telegram_path}")
        else:
            update.message.reply_text(f"Файл Telegram.exe не найден по указанному пути: {telegram_path}")

        context.user_data["add_telegram_path"] = False

    elif context.user_data.get("add_discord_path"):
        global discord_path
        discord_path = update.message.text.strip()

        if os.path.exists(discord_path):
            update.message.reply_text(f"Путь до Discord.exe успешно сохранен: {discord_path}")
        else:
            update.message.reply_text(f"Файл Discord.exe не найден по указанному пути: {discord_path}")

        context.user_data["add_discord_path"] = False
 


def start(update: telegram.Update, context: CallbackContext):
    user_id = update.message.from_user.id

    if user_id == ADMIN_USER_ID:
        keyboard = [
            [
                InlineKeyboardButton("Открыть Telegram", callback_data="open_telegram"),
                InlineKeyboardButton("Открыть Discord", callback_data="open_discord"),
            ],
            [
                InlineKeyboardButton("Включить режим сна", callback_data="sleep_mode"),
            ],
            [
                InlineKeyboardButton("Добавить путь до Telegram", callback_data="add_telegram_path"),
                InlineKeyboardButton("Добавить путь до Discord", callback_data="add_discord_path"),
            ],
        ]

        reply_markup = InlineKeyboardMarkup(keyboard)
        update.message.reply_text("Выберите действие:", reply_markup=reply_markup)
    else:
        update.message.reply_text("Извините, у вас нет доступа к этому боту.")


def button_callback(update: telegram.Update, context: CallbackContext):
    query = update.callback_query
    user_id = query.from_user.id

    if user_id != ADMIN_USER_ID:
        query.answer(text="Извините, у вас нет доступа к этому боту.")
        return

    if query. == "open_telegram":
        global telegram_path
        if telegram_path:
            os.startfile(telegram_path)
            query.answer(text="Telegram запущен!")
        else:
            query.answer(text="Добавьте путь до Telegram.exe с помощью кнопки 'Добавить путь до Telegram'.")
    elif query. == "open_discord":
        global discord_path
        if discord_path:
            os.startfile(discord_path)
            query.answer(text="Discord запущен!")
        else:
            query.answer(text="Добавьте путь до Discord.exe с помощью кнопки 'Добавить путь до Discord'.")
    elif query. == "sleep_mode":
        os.system("rundll32.exe powrprof.dll,SetSuspendState 0,1,0")
        query.answer(text="Компьютер переведен в режим сна!")
    elif query. == "add_telegram_path":
        query.message.reply_text("Введите путь до Telegram.exe:")
        context.user_data["add_telegram_path"] = True
    elif query. == "add_discord_path":
        query.message.reply_text("Введите путь до Discord.exe:")
        context.user_data["add_discord_path"] = True


def main():
    updater = Updater(TELEGRAM_API_TOKEN)

    dispatcher = updater.dispatcher
    dispatcher.add_handler(CommandHandler("start", start))
    dispatcher.add_handler(CallbackQueryHandler(button_callback))
    dispatcher.add_handler(MessageHandler(Filters.text & (~Filters.command), message_callback))

    updater.start_polling()
    updater.idle()


if __name__ == '__main__':
    main()
 
A Оффлайн

Alexander2020

Участник
LV
0
 
21.07.2023
6
0
1
24

Репутация:

можно было бы ещё его включать)
 

Поиск по форуму

Похожие темы:

Данный сайт использует cookie. Вы должны принять их для продолжения использования. Узнать больше....