Уникально для: xss.pro
Написал: rand
Здравствуйте, написал бота для размещения файлов. Все подробно указано в коде. БД в архиве. Потом можно подписку прикрутить в версии 0.2.
Написал: rand
Здравствуйте, написал бота для размещения файлов. Все подробно указано в коде. БД в архиве. Потом можно подписку прикрутить в версии 0.2.
Код:
pip install aiogram
bot.py:
Python:
import logging
from aiogram import Bot, Dispatcher, types
from aiogram.filters.command import Command
from aiogram.filters import Filter
from aiogram.types import Message
from db import Database
#Работа с БД
db = Database('database.db')
#Работа с БД
class TextHandler(Filter):
def __init__(self, my_text: str) -> None:
self.my_text = my_text
async def __call__(self, message: Message) -> bool:
return message.text == self.my_text
# Включаем логирование, чтобы не пропустить важные сообщения
logging.basicConfig(level=logging.INFO)
# Объект бота
bot = Bot(token="7205615990:AAGNnnF4EtdMc3X0sho1nR2Xi8mTBeyg555") # Сюда вставляем токен от BotFather
# Диспетчер
dp = Dispatcher()
# Основные разделы бота
@dp.message(Command("start"))
async def cmd_start(message: types.Message):
#Создание клавиатуры
kb = [
[
types.KeyboardButton(text="Аудио, Звук"),
types.KeyboardButton(text="Web-разработка"),
types.KeyboardButton(text="Безопасность"),
types.KeyboardButton(text="Видео"),
types.KeyboardButton(text="Профиль"),
types.KeyboardButton(text="Подписка")
],
]
#Работа с БД
if(not db.user_exists(message.from_user.id)):
db.add_user(message.from_user.id)
await bot.send_message(message.from_user.id, "Укажите Ваш ник")
else:
await bot.send_message(message.from_user.id, "Вы зарегистрированы как: " + db.get_nickname(message.from_user.id), reply_markup=types.ReplyKeyboardMarkup(
keyboard=kb,
resize_keyboard=True,
input_field_placeholder="Выберите раздел с софтом"))
#Работа с БД
# Основные разделы бота
#Регистрация пользователя, работа с БД
@dp.message(TextHandler)
async def bot_message(message: types.Message):
kb = [
[
types.KeyboardButton(text="Аудио, Звук"),
types.KeyboardButton(text="Web-разработка"),
types.KeyboardButton(text="Безопасность"),
types.KeyboardButton(text="Видео"),
types.KeyboardButton(text="Профиль"),
types.KeyboardButton(text="Подписка")
],
]
if message.chat.type == "private":
if message.text == 'Профиль':
user_nickname = "Ваш ник: " + db.get_nickname(message.from_user.id)
await bot.send_message(message.from_user.id, user_nickname)
#Подразделы основных разделов бота
elif message.text == 'Аудио, Звук':
kb = [
[
types.KeyboardButton(text="DJ Студиии, микшеры"),
types.KeyboardButton(text="Tag редакторы"),
types.KeyboardButton(text="Грабберы, Рипперы"),
types.KeyboardButton(text="Караоке"),
types.KeyboardButton(text="Кодеки, декодеры"),
types.KeyboardButton(text="Конверторы"),
types.KeyboardButton(text="Плееры"),
types.KeyboardButton(text="Редакторы аудио"),
types.KeyboardButton(text="Утилиты, Плагины"),
types.KeyboardButton(text="Другое")
],
]
keyboard = types.ReplyKeyboardMarkup(
keyboard=kb,
resize_keyboard=True,
input_field_placeholder="Выберите подраздел с софтом"
)
await message.answer("Какой подраздел Вас интересует? Или нажмите /start чтобы вернуться в главное меню",
reply_markup=keyboard)
elif message.text == 'Web-разработка':
kb = [
[
types.KeyboardButton(text="ASP, PHP, Perl, CGI"),
types.KeyboardButton(text="CMS"),
types.KeyboardButton(text="Flash"),
types.KeyboardButton(text="HTML"),
types.KeyboardButton(text="Java, JavaScript"),
types.KeyboardButton(text="XML, RSS, CSS"),
types.KeyboardButton(text="SEO"),
types.KeyboardButton(text="Редакторы"),
types.KeyboardButton(text="Скрипты"),
types.KeyboardButton(text="Другое")
],
]
keyboard = types.ReplyKeyboardMarkup(
keyboard=kb,
resize_keyboard=True,
input_field_placeholder="Выберите подраздел с софтом"
)
await message.answer("Какой подраздел Вас интересует? Или нажмите /start чтобы вернуться в главное меню",
reply_markup=keyboard)
elif message.text == 'Безопасность':
kb = [
[
types.KeyboardButton(text="Firewalls"),
types.KeyboardButton(text="USB-Антивирусы"),
types.KeyboardButton(text="Антивирусы"),
types.KeyboardButton(text="Антишпионы"),
types.KeyboardButton(text="Загрузочные диски"),
types.KeyboardButton(text="Защита данных"),
types.KeyboardButton(text="Комплексная защита"),
types.KeyboardButton(text="Контроль доступа"),
types.KeyboardButton(text="Мониторинг, Анализ"),
types.KeyboardButton(text="Пароли"),
types.KeyboardButton(text="Шифрование"),
types.KeyboardButton(text="Другое")
],
]
keyboard = types.ReplyKeyboardMarkup(
keyboard=kb,
resize_keyboard=True,
input_field_placeholder="Выберите подраздел с софтом"
)
await message.answer("Какой подраздел Вас интересует? Или нажмите /start чтобы вернуться в главное меню",
reply_markup=keyboard)
elif message.text == 'Видео':
kb = [
[
types.KeyboardButton(text="Видео захват"),
types.KeyboardButton(text="Грабберы, Рипперы"),
types.KeyboardButton(text="Кодеки, декодеры"),
types.KeyboardButton(text="Конверторы"),
types.KeyboardButton(text="Плееры"),
types.KeyboardButton(text="Потоковое видео"),
types.KeyboardButton(text="Редакторы")
],
]
keyboard = types.ReplyKeyboardMarkup(
keyboard=kb,
resize_keyboard=True,
input_field_placeholder="Выберите подраздел с софтом"
)
await message.answer("Какой подраздел Вас интересует? Или нажмите /start чтобы вернуться в главное меню",
reply_markup=keyboard)
#Подразделы основных разделов бота
#Разделы с файлами Видео
elif message.text == 'Видео захват':
await message.answer_document(
document="BQACAgIAAxkBAAEr6vZmZ9YY2Av38FQU-h1lw6qX2G1icQACuEQAAluoQEtyxDUfl0jIrjUE",
caption="Лучший брутофорс version 999.0",
show_caption_above_media=True
)
elif message.text == 'Грабберы, Рипперы':
await message.answer_document(
document="BQACAgIAAxkBAAEr6vZmZ9YY2Av38FQU-h1lw6qX2G1icQACuEQAAluoQEtyxDUfl0jIrjUE",
caption="Лучший брутофорс version 999.0",
show_caption_above_media=True
)
elif message.text == 'Кодеки, декодеры':
await message.answer_document(
document="BQACAgIAAxkBAAEr6vZmZ9YY2Av38FQU-h1lw6qX2G1icQACuEQAAluoQEtyxDUfl0jIrjUE",
caption="Лучший брутофорс version 999.0",
show_caption_above_media=True
)
elif message.text == 'Конверторы':
await message.answer_document(
document="BQACAgIAAxkBAAEr6vZmZ9YY2Av38FQU-h1lw6qX2G1icQACuEQAAluoQEtyxDUfl0jIrjUE",
caption="Лучший брутофорс version 999.0",
show_caption_above_media=True
)
elif message.text == 'Плееры':
await message.answer_document(
document="BQACAgIAAxkBAAEr6vZmZ9YY2Av38FQU-h1lw6qX2G1icQACuEQAAluoQEtyxDUfl0jIrjUE",
caption="Лучший брутофорс version 999.0",
show_caption_above_media=True
)
elif message.text == 'Потоковое видео':
await message.answer_document(
document="BQACAgIAAxkBAAEr6vZmZ9YY2Av38FQU-h1lw6qX2G1icQACuEQAAluoQEtyxDUfl0jIrjUE",
caption="Лучший брутофорс version 999.0",
show_caption_above_media=True
)
elif message.text == 'Редакторы':
await message.answer_document(
document="BQACAgIAAxkBAAEr6vZmZ9YY2Av38FQU-h1lw6qX2G1icQACuEQAAluoQEtyxDUfl0jIrjUE",
caption="Лучший брутофорс version 999.0",
show_caption_above_media=True
)
await message.answer_document(
document="BQACAgIAAxkBAAEr6vZmZ9YY2Av38FQU-h1lw6qX2G1icQACuEQAAluoQEtyxDUfl0jIrjUE",
caption="Лучший брутофорс version 999.0",
show_caption_above_media=True
)
await message.answer_document(
document="BQACAgIAAxkBAAEr6vZmZ9YY2Av38FQU-h1lw6qX2G1icQACuEQAAluoQEtyxDUfl0jIrjUE",
caption="Лучший брутофорс version 999.0",
show_caption_above_media=True
)
await message.answer_document(
document="BQACAgIAAxkBAAEr6vZmZ9YY2Av38FQU-h1lw6qX2G1icQACuEQAAluoQEtyxDUfl0jIrjUE",
caption="Лучший брутофорс version 999.0",
show_caption_above_media=True
)
#Разделы с файлами Видео
# Регистрация пользователя, работа с БД
else:
if db.get_signup(message.from_user.id) == "setnickname":
if len(message.text) > 15:
await bot.send_message(message.from_user.id, "Никнейм не должен превышать 15 символов")
elif '@' in message.text or '/' in message.text:
await bot.send_message(message.from_user.id, "Вы ввели запрещенный символ")
else:
db.set_nickname(message.from_user.id, message.text)
db.set_signup(message.from_user.id, "done")
await bot.send_message(message.from_user.id, "Регистрация прошла успешно!", reply_markup=types.ReplyKeyboardMarkup(
keyboard=kb,
resize_keyboard=True,
input_field_placeholder="Выберите раздел с софтом"))
else:
await bot.send_message(message.from_user.id, "Не понимаю что Вы написали?")
#Регистрация пользователя, работа с БД
# Пример приклепления файлов, создаешь свой канал туда прикрепляешь дистрибутивы, в document вписывается fileid загруженного файла в телеграм, file id можно узнать переслав файл боту из канала, бот: https://t.me/RawDataBot
@dp.message(TextHandler("Bruteforce"))
async def send_gif(message: Message):
await message.answer_document(
document="BQACAgIAAxkBAAEr6vZmZ9YY2Av38FQU-h1lw6qX2G1icQACuEQAAluoQEtyxDUfl0jIrjUE",
caption="Лучший брутофорс version 999.0",
show_caption_above_media=True
)
await message.answer_document(
document="BQACAgIAAxkBAAEr6xNmZ9zWw6qlSQTpPmBXJFWX5TKdjAAC5EQAAluoQEumchavnYEjCzUE",
caption="Лучший loader по версии XSS",
show_caption_above_media=True
)
await message.answer_document(
document="BQACAgIAAxkBAAEr6xNmZ9zWw6qlSQTpPmBXJFWX5TKdjAAC5EQAAluoQEumchavnYEjCzUE",
caption="Лучший loader по версии XSS",
show_caption_above_media=True
)
await message.answer_document(
document="BQACAgIAAxkBAAEr6xNmZ9zWw6qlSQTpPmBXJFWX5TKdjAAC5EQAAluoQEumchavnYEjCzUE",
caption="Лучший loader по версии XSS",
show_caption_above_media=True
)
await message.answer_document(
document="BQACAgIAAxkBAAEr6xNmZ9zWw6qlSQTpPmBXJFWX5TKdjAAC5EQAAluoQEumchavnYEjCzUE",
caption="Лучший loader по версии XSS",
show_caption_above_media=True
)
@dp.message(TextHandler("Loader"))
async def send_gif(message: Message):
await message.answer_document(
document="BQACAgIAAxkBAAEr6xNmZ9zWw6qlSQTpPmBXJFWX5TKdjAAC5EQAAluoQEumchavnYEjCzUE",
caption="Лучший loader по версии XSS",
show_caption_above_media=True
)
await message.answer_document(
document="BQACAgIAAxkBAAEr6xNmZ9zWw6qlSQTpPmBXJFWX5TKdjAAC5EQAAluoQEumchavnYEjCzUE",
caption="Лучший loader по версии XSS",
show_caption_above_media=True
)
await message.answer_document(
document="BQACAgIAAxkBAAEr6xNmZ9zWw6qlSQTpPmBXJFWX5TKdjAAC5EQAAluoQEumchavnYEjCzUE",
caption="Лучший loader по версии XSS",
show_caption_above_media=True
)
await message.answer_document(
document="BQACAgIAAxkBAAEr6xNmZ9zWw6qlSQTpPmBXJFWX5TKdjAAC5EQAAluoQEumchavnYEjCzUE",
caption="Лучший loader по версии XSS",
show_caption_above_media=True
)
await message.answer_document(
document="BQACAgIAAxkBAAEr6xNmZ9zWw6qlSQTpPmBXJFWX5TKdjAAC5EQAAluoQEumchavnYEjCzUE",
caption="Лучший loader по версии XSS",
show_caption_above_media=True
)
logging.info("Бот запущен")
dp.run_polling(bot)
# Пример приклепления файлов, создаешь свой канал туда прикрепляешь дистрибутивы, в document вписывается fileid загруженного файла в телеграм, file id можно узнать переслав файл боту из канала, бот: https://t.me/RawDataBot
db.py: (Рега пользователей)
Python:
import sqlite3
#Объявляем нужный класс и функции для работы с БД SQLlite3
class Database:
def __init__(self, db_file):
self.connection = sqlite3.connect(db_file)
self.cursor = self.connection.cursor()
#Функция добавления пользователя в БД
def add_user(self, user_id):
with self.connection:
return self.cursor.execute("INSERT INTO users (user_id) VALUES (?)", (user_id,))
#Функция проверки пользователя в БД на данный момент
def user_exists(self, user_id):
with self.connection:
result = self.cursor.execute("SELECT * FROM users WHERE user_id = ?", (user_id,)).fetchall()
return bool(len(result))
#Функция регистрации никнейма в БД
def set_nickname(self, user_id, nickname):
with self.connection:
return self.cursor.execute("UPDATE users SET nickname = ? WHERE user_id = ?", (nickname, user_id,))
#Узнаем на каком этапер регистрации находится пользователь
def get_signup(self, user_id):
with self.connection:
result = self.cursor.execute("SELECT signup FROM users WHERE user_id = ?", (user_id,)).fetchall()
for row in result:
signup = str(row[0])
return signup
#Функция изменения этапа регистрации пользователя в БД
def set_signup(self, user_id, signup):
with self.connection:
return self.cursor.execute("UPDATE users SET signup = ? WHERE user_id = ?", (signup, user_id,))
#Профиль в БД
def get_nickname(self, user_id):
with self.connection:
result = self.cursor.execute("SELECT nickname FROM users WHERE user_id = ?", (user_id,)).fetchall()
for row in result:
nickname = str(row[0])
return nickname
Вложения
Последнее редактирование: