Как поставить пароль на Телеграмм бота

В статье рассказываем, как разработать Telegram-бота для генерации сложных паролей.

Введение

Чтобы придумать надежный, но запоминающийся пароль, можно взять несколько слов и объединить их в последовательность, напоминающую сюжет. А после — отформатировать и добавить специальные символы. Все просто, но задачу можно автоматизировать — написать Telegram-бота, который будет генерировать пароли прямо в мессенджере. В статье рассказываем, как это сделать.

Требования к работе бота

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

  1. Длина пароля должна быть от 2 до 8 слов. Так мы усложним задачу злоумышленнику — подобрать связку слов намного сложнее, чем одно слово.
  2. Между словами могут быть разделители в виде цифр и спецсимволов. Это увеличит энтропию и затруднит подбор пароля. Пароль с разделителями может выглядеть, например, так: unmovable8ENCRUST=macho.
  3. Дополнительно в пароле могут использоваться спецсимволы в начале (префиксы) и в конце (суффиксы) слова, которые также помогут увеличить сложность подбора.
  4. Количество слов, разделителей, префиксов и суффиксов должно настраиваться пользователем. Пользователю предоставляется интерфейс в виде сообщения с кнопками, нажатием на которые включаются и выключаются отдельные настройки
  5. Пользовательские настройки должны сохраняться в Redis и не сбрасываться при перезагрузке сервера с ботом. Выбор Redis обусловлен тем, что нам не требуются «фичи» реляционных СУБД — схемы, транзакции, миграции и другие — поэтому можно обойтись более простым в развертывании решением. Также мы будем использовать особенность aiogram — механизм конечных автоматов, который нативно поддерживает Redis как бэкенд.

Теперь посмотрим, что понадобится для разработки бота.

Как поставить ПАРОЛЬ на TELEGRAM-БОТа / Как ограничить доступ к Telegram-боту / Sambot.ru /Артем Кук

Что понадобится для разработки

Перед началом нужно подготовить среду разработки, установить нужные библиотеки и программы, а именно:

  • Python — от версии 3.9 и выше,
  • aiogram — асинхронный фреймворк для работы с Telegram Bot API,
  • Redis — быстрое key-value хранилище,
  • redis-py — клиент для работы с Redis,
  • XKCD-password-generator — библиотека для генерации паролей,
  • pydantic — библиотека для валидации данных и формирования настроек приложения.

И самое главное — репозиторий на GitHub. Его нужно импортировать в свое рабочее окружение и настроить.

Как настроить бота

Запустим бота локально. На этом этапе можем обойтись без Redis, но важно учитывать, что пользовательские настройки не будут сохранены между перезапусками.

Если вы пишете на Python и используете среду разработки PyCharm, то запустить бота будет максимально просто. После клонирования репозитория переключитесь на ветку article-tweaks (git checkout article-tweaks) и создайте новую конфигурацию запуска (Run Configuration). А затем установите параметры:

— STORAGE_MODE — выберите memory.

— WORDS__WORDFILE — укажите путь к файлу с набором слов. Он входит в состав репозитория, поэтому отдельно скачивать его не нужно.

Должно получится, как на скриншоте:

После этого запустите созданную конфигурацию. Вы увидите в консоли следующий текст:

INFO:aiogram.dispatcher.dispatcher:Start polling

Если вы используете не PyCharm, то процесс запуска несколько отличается. Создайте виртуальное окружение bot (python3 -m venv bot) и установите зависимости (pip install -r requirements.txt), а после — запустите бота следующей командой:

BOT_TOKEN=ключ от BotFather STORAGE_MODE=memory WORDS__WORDFILE=/path/to/words.txt python -m bot

Теперь попробуйте отправить в личные сообщения с ботом команду /start. Если в ответ получили текстовое приветствие, бот работает.

Еще по теме:  Как добавить аккаунт в Телеграм без номера

При вводе символа / вы должны увидеть список команд. Попробуйте вызвать их и изучить различные конфигурации. По умолчанию поддерживаются следующие пресеты:

  • /generate_weak –— два случайных слова без каких-либо дополнительных символов.
  • /generate_normal — три случайных слова, каждое из которых случайным образом может состоять из всех прописных или всех строчных букв, в качестве разделителей используются числа.
  • /generate_strong — то же, что и в предыдущем случае, но слов четыре, а в качестве разделителей, помимо цифр, возможны спецсимволы.

Кроме этого, есть команда /settings — она приводит к отправке сообщения с настройками. А также команда /generate — отправляет сгенерированный пароль с учетом новой конфигурации:

Деплой бота

Все готово, но есть проблема: бот запущен на компьютере. Это неудобно, если вы хотите обеспечить круглосуточную работу бота. Ведь тогда нужно поддерживать бесперебойную работу компьютера и постоянное соединение с интернетом.

Оптимальное решение проблемы — загрузить проект на облачный сервер с гибкой производительностью ядра. Так можно обеспечить стабильную работу бота и ограничить потребление ресурсов, чтобы не переплачивать.

Поскольку затраты процессора на генерацию пароля и отправку его в Telegram минимальны, нам подойдет сервер линейки Shared Line. Это линейка облачных серверов с возможностью оплаты только части ядра, например 10, 20 или 50%. Shared Line позволяет использовать все преимущества облака и не переплачивать за неиспользуемые ресурсы.

Для начала зарегистрируемся в панели управления и создадим новый сервер в разделе «Облачная платформа». Затем — настроим его.

С учетом выделенного IP-адреса такая конфигурация выйдет примерно в 28 ₽/день. При желании можно обойтись без маршрутизируемого IP-адреса, поскольку Telegram-бот может принимать события методом опроса (поллинга), даже находясь за NAT.

1. После подключения к серверу по SSH, бота необходимо перенести. Для этого выполните следующие шаги:Откройте консоль сервера и обновите систему с помощью команды:

apt update apt upgrade -y

2. Создайте отдельного пользователя для нашего бота и добавьте его в группу sudoers:

3. Установите Redis и присоедините его к systemd, воспользовавшись удобной инструкцией от DigitalOcean. Шаги 4 и 5 можно пропустить.

4. Клонируйте репозиторий и переключитесь на нужную ветку:

5. Настройте виртуальное окружение:

python3 -m venv venv source /venv/bin/activate pip install -r requirements.txt

6. Создайте файл systemd-службы по пути /etc/systemd/system/passgenbot.service со следующим содержимым:

[Unit] Description=Telegram Password Generator Bot Requires=redis.service After=network.target redis.service [Service] Type=simple WorkingDirectory=/home/bot/passgenbot ExecStart=/home/bot/passgenbot/venv/bin/python -m bot User=bot Group=bot EnvironmentFile=/home/bot/passgenbot/.env KillMode=process Restart=always RestartSec=10 [Install] WantedBy=multi-user.target

7. Обратите внимание на директиву EnvironmentFile. Создайте этот файл и поместите туда необходимые переменные окружения:

8. Убедитесь, что Redis запущен (systemctl status redis) и включите бота с добавлением его в автозапуск:

sudo systemctl enable passgenbot —now

Готово!

Разбираемся вместе

Возможности бота можно в любой момент персонализировать под себя. Если в какой-то момент пресетов станет недостаточно — добавить новые или изменить существующие. Это сделать достаточно просто.

За генерацию паролей по заданным пресетам отвечает класс XKCD. Под капотом наш бот выглядит так:

from random import choice from xkcdpass import xkcd_password class XKCD: # Весь список разделителей, отдельно цифры, отдельно – спецсимволы delimiters_numbers = [«0», «1», «2», «3», «4», «5», «6», «7», «8», «9»] delimiters_full = [«!», «$», «%», «^», «, «*», «-«, «_», «+», «=», «:», «|», «~», «?», «/», «.», «;»] + delimiters_numbers def __init__(self, filename: str): # Загрузка словаря в память self.wordlist = xkcd_password.generate_wordlist( wordfile=filename, valid_chars=»[a-z]», min_length=4, max_length=10, ) def weak(self): # Слабый пароль: 2 слова без раздетилей return xkcd_password.generate_xkcdpassword( self.wordlist, numwords=2, delimiter=»», ) def normal(self): # Средний пароль: 3 слова, разделитель # в виде случайной цифры return xkcd_password.generate_xkcdpassword( self.wordlist, numwords=3, case=»random», random_delimiters=True, valid_delimiters=self.delimiters_numbers ) def strong(self): # Сильный пароль: 4 слова и большой выбор разделителей return xkcd_password.generate_xkcdpassword( self.wordlist, numwords=4, case=»random», random_delimiters=True, valid_delimiters=self.delimiters_full ) def custom(self, count: int, separators: bool, prefixes: bool): # Произвольный пароль: # сложность зависит от настроек пользователя pwd = xkcd_password.generate_xkcdpassword( self.wordlist, numwords=count, case=»random», delimiter=»», random_delimiters=separators, valid_delimiters=self.delimiters_full ) if prefixes == separators: return pwd elif separators and not prefixes: return pwd[1:-1] elif prefixes and not separators: return f»»

Еще по теме:  Актуальные темы ТГ каналы

Для добавлении нового пресета достаточно скопировать существующий, изменить его название и настроить параметры метода generate_xkcdpassword под себя.

И последним этапом — добавить в обработчик commands функцию для вызова своего пресета, чтобы программа знала, в какой ситуации его вызывать. Это можно сделать по аналогии с существующими пресетами.

from aiogram import types, Dispatcher from aiogram.utils.markdown import hcode from bot.pwdgen import XKCD async def cmd_generate_weak(message: types.Message): # вызов пресета weak pwd: XKCD = message.bot.get(«pwd») await message.answer(hcode(pwd.weak())) async def cmd_generate_normal(message: types.Message): # вызов пресета normal pwd: XKCD = message.bot.get(«pwd») await message.answer(hcode(pwd.normal())) async def cmd_generate_strong(message: types.Message): # вызов пресета strong pwd: XKCD = message.bot.get(«pwd») await message.answer(hcode(pwd.strong())) # вот здесь можно добавить свою функцию для вызова пресета # регистрация команд def register_commands(dp: Dispatcher): # обработчик вызывает пресет weak по команде generate_weak dp.register_message_handler(cmd_generate_weak, commands=»generate_weak») # обработчик вызывает пресет normal по команде generate_normal dp.register_message_handler(cmd_generate_normal, commands=»generate_normal») # обработчик вызывает пресет strong по команде generate_strong dp.register_message_handler(cmd_generate_strong, commands=»generate_strong») # вот здесь можно добавить свою команду

Заключение

Несмотря на то, что разработанный бот работает и выполняет свои прямые задачи по генерации сложных паролей, это далеко не предел его возможностей. В качестве дополнений и улучшений можно назвать добавление новых языков, автоудаление записей по таймеру, генерацию KeePass-совместимых баз данных, создание нескольких паролей одновременно и другое.

Зарегистрируйтесь в панели управления

И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.

Источник: selectel.ru

Как сделать закрытого Telegram бота?

Здравствуйте, хочу прикрутить к сайту телеграмм бота только для администраторов, что бы при попытках войти на сайт с неверными данными бот писал администраторам сайта сообщение, само сообщение отправляется так(всё работает):

$token = «хххххххххххххххххх»; $chat_id = «ххххххх»; $message .= «Неудачная попытка авторизации на сайте с использованием неверного пароля.rn Дата: rn IP: rn Логин: ‘».$db->safesql($member_id[‘name’]).»‘ «; $sendToTelegram = file_get_contents(«https://api.telegram.org/bot/sendMessage?chat_id=text=disable_web_page_preview=false);

Как сделать что бы бот писал определенным людям(5-7 человек) и больше этого никто не увидел?

  • Вопрос задан более трёх лет назад
  • 2807 просмотров

1 комментарий

Простой 1 комментарий

Источник: qna.habr.com

как поставить пароль на Telegram бота как огр

как поставить пароль на Telegram бота как огр

как поставить пароль на Telegram бота как огр

Greetings, knowledge-seekers! Today, we’ll be diving into the fascinating and multifaceted world of как поставить пароль на Telegram бота как огр. From its origins to its latest advancements, we’ll be exploring every angle of this intriguing topic. So, join me on this journey of discovery as we explore the captivating realm of как поставить пароль на Telegram бота как огр. Desktop- telegram

Main D0 Bf D0 Be D0 B4 D0 B1 D0 Be D1 80 D0 Ba D0 B0 D0 B3 D0 B0 D0

Main D0 Bf D0 Be D0 B4 D0 B1 D0 Be D1 80 D0 Ba D0 B0 D0 B3 D0 B0 D0

Main D0 Bf D0 Be D0 B4 D0 B1 D0 Be D1 80 D0 Ba D0 B0 D0 B3 D0 B0 D0 Знаток чат ботов Артем Кук доказал, что можно за считанные минуты поставить пароль на telegram БОТа. Данное. Можно ли как то поставить пароль на бота в telegram? А то получается, что им может управлять любой, кто знает его логин.

D0 Ba D0 Be D1 80 D0 B8 D0 B0 D0 Bd D0 B4 D1 80 D0 Be D0 Bb D0 B8 D0

D0 Ba D0 Be D1 80 D0 B8 D0 B0 D0 Bd D0 B4 D1 80 D0 Be D0 Bb D0 B8 D0

Еще по теме:  Красный шрифт в Телеграмм

D0 Ba D0 Be D1 80 D0 B8 D0 B0 D0 Bd D0 B4 D1 80 D0 Be D0 Bb D0 B8 D0 Чем полезен telegram. На сегодняшний день, Телеграм — это огромный интернет комбайн, где можно: Вести переписки, как в открытых чатах, так и в приватных (статья о секретном чате). Как поставить пароль на telegram на iphone Тапните «Включить код пароль».

По умолчанию используется шестизначная цифровая комбинация, но нажав на «Виды кода пароля», вы можно сменить её на. Как установить пароль на открытие telegram в iphone, android, mac или windows. telegram считается крайне надежным приложением, позволяющим пользователям обмениваться сообщениями. Поиск, выбор и настройка хостинга для телеграм бота – как найти лучший вариант. По каким критериям выбирать сервер, как его настроить для работы с чат ботом telegram, как залить бота на сервер.

36 6 D0 B1 D0 Bb D0 Be D0 Ba D0 Ba D0 B0 D0 Bf D1 81 D1 83 D0 Bb D1

36 6 D0 B1 D0 Bb D0 Be D0 Ba D0 Ba D0 B0 D0 Bf D1 81 D1 83 D0 Bb D1

36 6 D0 B1 D0 Bb D0 Be D0 Ba D0 Ba D0 B0 D0 Bf D1 81 D1 83 D0 Bb D1 Как установить пароль на открытие telegram в iphone, android, mac или windows. telegram считается крайне надежным приложением, позволяющим пользователям обмениваться сообщениями. Поиск, выбор и настройка хостинга для телеграм бота – как найти лучший вариант.

По каким критериям выбирать сервер, как его настроить для работы с чат ботом telegram, как залить бота на сервер. Устанавливаем пароль (код пароль) на вход в приложение Телеграм на компьютере — в приложении telegram desktop. Если вам нужен простенький telegram bot, способный выполнять скрипты (написанные на любом языке) и отвечать текстом и картинками, то вам под кат. Там вы найдёте рассказ о бот движке, который делает.

Main 2 D0 Bc D0 Be D1 80 D0 Be D0 B7 D0 B0

Main 2 D0 Bc D0 Be D1 80 D0 Be D0 B7 D0 B0

Main 2 D0 Bc D0 Be D1 80 D0 Be D0 B7 D0 B0 Устанавливаем пароль (код пароль) на вход в приложение Телеграм на компьютере — в приложении telegram desktop. Если вам нужен простенький telegram bot, способный выполнять скрипты (написанные на любом языке) и отвечать текстом и картинками, то вам под кат. Там вы найдёте рассказ о бот движке, который делает.

=?utf 8?q?=d0=9e=d1=82=d0=b4=d0=b0=d1=82=d1=8c =d0=b2=d1=81=d1=91 =d0=b7=d0=b0 =d0=bc=d0=b5=d1=87=d1=82=d1=83 ?=

=?utf 8?q?=d0=9e=d1=82=d0=b4=d0=b0=d1=82=d1=8c =d0=b2=d1=81=d1=91 =d0=b7=d0=b0 =d0=bc=d0=b5=d1=87=d1=82=d1=83 ?=

video uploaded from my mobile phone. Мій patreon: patreon morozenko Мій telegram канал: t.me morozenko o Мій instagram: Конушин Андрей и Фабина Маргарита, Шабанова Маргарита и Исаев Денис, Сапов Евгений и Слинкина Екатерина, Мда .с моим братом было и не такое. video converted and uploaded via free leawo avi converter leawo video converter free aviconverter . watch?v=hqni5evcvryКавказ»

Conclusion

Having examined the subject matter thoroughly, it is evident that the article offers valuable information regarding как поставить пароль на Telegram бота как огр. From start to finish, the writer demonstrates a wealth of knowledge about the subject matter. In particular, the discussion of Z stands out as a key takeaway. Thank you for reading the post. If you would like to know more, please do not hesitate to contact me through email.

I am excited about your feedback. Moreover, below are a few relevant articles that you may find useful:

Источник: otosection.com

Рейтинг
( Пока оценок нет )
Загрузка ...