Как поставить пароль на бота в телеграмм
Перейти к содержимому

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

  • автор:

 

Пароль для бота Telegram

Можно ли как-то поставить пароль на бота в Telegram? А то получается, что им может управлять любой, кто знает его логин.

Kromster's user avatar

ну и вдруг пригодится это

Violet's user avatar

Создайте массив пользователей, указавших пароль

При получении нового сообщения, проверяйте есть ли ID пользователя в созданном ранее массиве

Как установить пароль на Telegram

В Telegram воплощена достаточно сложная система шифровки на основе уникального криптографического протокола MTProto, даже в случае перехвата прочесть перехваченную приватную переписку в принципе невозможно. Данная программа достаточно защищена. Впрочем, если гаджет с установленным приложением останется без присмотра хозяина, то злоумышленник легко сможет получить доступ к переписке и отправке сообщений от лица пользователя. Для предупреждения таких ситуаций в приложении есть возможность поставить дополнительную защиту в случае доступа злоумышленником к устройству. Если же пользователь сам забудет свой пароль, то и такой случай предусмотрен разработчиками программы. Далее рассмотрим пошаговую инструкцию установки ПИН-кода и двухэтапную аутентификацию.

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

Для установки дополнительной защиты выполняем нижеуказанные действия на примере OS Android

  • Открываем служебное Меню своего профиля (вертикальные три полоски в верхнем левом углу)

  • Выбираем пункт Настройки
  • В открывшемся окне опускаемся вниз по странице до раздела Конфиденциальность и безопасность

  • В этом разделе ищем пункт Код-пароль, нажимаем на него и попадаем в диалоговое окно, в котором необходимо ввести 4х значный ПИН-код, а затем повторить вводом его еще раз

  • После того, как вы ввели ПИН-код появится возможность установить автоблокировку приложения с доступными режимами: 1 минута, 5 минут, 1 час, 5 часов. Выбирайте частоту автоблокировки в зависимости от того, как часто вы оставляете свой гаджет без присмотра. А так же не забудьте активировать Код-пароль посредством автопереключателя как показано ниже на скриншоте, там же доступно включение разблокировки отпечатком пальца

  • Если вы решите, что данный ПИН-код скомпрометирован, то в любой момент его можно изменить, для этого необходимо пройти путь Настройки — Конфиденциальность и безопасность — Код-пароль — ввести текущий пароль, затем будет доступен пункт Сменить код-пароль, система запросит новый ПИН-код и повторный ввод для подтверждения

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

Установка двухэтапной аутентификации

Рассмотрим еще одну более усиленную защиту своего приложения. Это двухшаговая верификация. При входе на новом устройстве в приложение Telegram система помимо SMS кода для авторизации будет запрашивать дополнительный пароль. Такая защита не даст злоумышленникам ни единого шанса

  • Заходим в Настройки —Конфиденциальность и безопасность

  • Выбираем пункт Двухэтапная аутентификация. Здесь же можно проверить Активные сессии на всех остальных устройствах, с которых вы авторизовывались хотя бы один раз. Все подозрительный сеансы можно завершить в ручную, кликнув по любому сеансу
  • Далее система нам предлагает установить дополнительный пароль, который будет запрашиваться в дополнение к sms коду при установке Telegram на новое устройство. Никогда не устанавливайте легкие и во всех соц. сетях одинаковые пароли, а так же необходимо установить такой пароль, чтобы вы могли его запомнить и вспомнить в нужный момент

  • Далее вводим придуманный нами пароль и подтверждаем его

  • Так же необходимо придумать подсказку для пароля в случае если у вас случится приступ амнезии

  • Система попросит ввести адрес электронной почты для восстановления утерянного пароля, этот шаг можно пропустить, но мы бы это делать не рекомендовали

  • Зайдите в свою почту и подтвердите пароль, пройдя по ссылке из письма. После перехода по ссылке появится сообщение об успешном включении двухступенчатой авторизации с победоносным стикером

Как разработать Telegram-бота на Python, который будет генерировать сложные пароли прямо в мессенджере?

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

Используйте навигацию, если нет времени читать текст целиком:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Боту подойдет ОС Ubuntu 22.04 LTS, 2 виртуальных ядра с минимальной границей в 10% процессорного времени, 2 ГБ оперативной памяти, а также 10 ГБ на сетевом диске (базовый HDD).

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

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

1. Откройте консоль сервера и обновите систему с помощью команды:

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

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

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

 

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

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

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

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

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

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

", "?", "/", ".", ";"] + 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 функцию для вызова своего пресета. Это можно сделать по аналогии с существующими пресетами.

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

Напишите в комментариях, какого еще Telegram-бота можно разработать на Python. И подпишитесь на блог Selectel, чтобы не пропустить обзоры, новости, кейсы и полезные гайды из мира IT.

Самый полный стартовый гайд по ботам Telegram (python)

QQ Хабр! В этом гайде мы пройдемся по каждому шагу создания ботов в Telegram — от регистрации бота до публикации репозитория на GitHub. Некоторым может показаться, что все разжевано и слишком много элементарной информации, но этот гайд создан для новичков, хотя будет интересен и для тех, кто уже занимался разработкой в Telegram. Сегодня мы будем делать бота, который отвечает на заданные вопросы.

I. Регистрация бота

Прежде всего нужно зарегать бота. Для этого пишем боту @BotFather команду /newbot , после этого даем боту имя и тэг. После этих действий бот отправит нам токен, который никому давать нельзя.

На этом процесс регистрации бота завершен, можно приступать к самому интересному — кодингу

II. Кодинг

Итак, бота мы будем писать на python. Для начала установим библиотеку pytelegrambotapi. Для этого в командной строке (или в терминале, если у вас MacOS) пишем:

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

Вместо BOT-TOKEN пишем токен, который получили от BotFather

Сейчас можно уже и поговорить о кнопках

Кнопки

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

Бывает два вида кнопок, это:

Inline-кнопки

Для создания таких кнопок используется метод InlineKeyboardMarkup, например, сделаем кнопку, которая ведет на сайт Хабра

Выглядит это так

Более подробно про такие кнопки можно почитать в этой статье

Keyboard-кнопки

Такие кнопки можно увидеть в большом количестве ботов, таких как Дайвинчик и тому подобные. Пишутся они довольно просто, с помощью метода ReplyKeyboardMarkup. Для примера сделаем кнопку выбора языка

Вот как это выглядит

Обратно к коду

Теперь уже точно можно вернуться к кодингу, давайте добавим стартовую команду и кнопку

Далее делаем реакцию бота на кнопки (здесь то уже есть комментарии)

Теперь по этому примеру продолжаем плодить бота

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

Как мы видим, чтобы сделать гиперссылку мы берем в квадратные скобки слово, которое будет ссылкой, а саму ссылку берем в круглые. В конце строки добавляем parse_mode=’Markdown’

Когда мы дописали основной код нужно вставить важную строку

Как сказано в комментарии, это строка обязательна для работы бота, чтобы он не отключался и работал постоянно.

Полностью наш код выглядит так:

Этот код я написал за 10 минут, при желании код можно сделать намного больше. Полноценный бот выглядит так. Этого бота я делал для конкурса и написал его за 3,5 часа.

Важно: если вы делаете полноценного бота, которого будете куда-то публиковать, очень стоит добавить в него эмодзи: кнопки, сообщения — все должно включать в себя эмодзи, это важно для красоты

III. Публикация репозитория на GitHub

Для этого на потребуется приложение GitHub Desktop

Создаем новый репозиторий, после этого в папке по умолчанию появится папка с названием вашего проекта. В нее закидываем файлы проекта и в приложении нажимаем кнопку Commit to main. После этого нажимаем на кнопку Publish Repository. Готово! При желании, можно создать Readme.md

IV. Заключение

Здесь я расписал все, что я вспомнил о разработке ботов для telegram, если есть, что предложить — комментарии открыты для вас. Надеюсь, вам это было полезно.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *