es
Feedback
Python Telegram Bot

Python Telegram Bot

Ir al canal en Telegram

☑️ Заявки принимаются автоматически! Обучаем созданию и продвижению чат-ботов в телеграм. ссылка: @pybotg связь: @oksi_young https://telega.in/channels/+Mj_twnrYuAxkZmUy/card/?r=BrHKEWMo

Mostrar más
5 003
Suscriptores
Sin datos24 horas
-67 días
+1730 días
Archivo de publicaciones
Что такое безопасность приложений и как проводить пентесты на уязвимости? Как подобрать пароль или устранить угрозу взлома? У
Что такое безопасность приложений и как проводить пентесты на уязвимости? Как подобрать пароль или устранить угрозу взлома? Узнайте всё о кибербезопасности на бесплатном интенсиве Skillbox с 16 по 18 января в 21:00 по московскому времени: https://clc.to/D9uPAQ Сразу после регистрации вы получите на почту полезную статью о защите информации в сети ✔️ Что вас ждёт: ▶️ Интересные практические задания. Напишете простейший подбор паролей на Python и попробуете взломать CSRF-защиту. ✔️ Полезная теория. Узнаете, как устроено приложение и что такое протокол HTTP. 💬 Общение со спикером. Экс-руководитель команды, которая разработала платформу антиспама и машинного обучения в Badoo, Михаил Овчинников расскажет про зарплаты, востребованность и перспективы работы в сфере. 🎁 Присоединяйтесь к прямым эфирам и получите сертификат на скидку 10 000 рублей на любой курс Skillbox. А всем, кто дойдёт до конца интенсива, подарим книгу Пола Доэрти и Джеймса Уилсона «Человек + машина» издательства МИФ.

☑️ Разработка уведомлений в телеграм • Бюджет: ожидает предложений • Срок: по договоренности • Задача: Используя API (api.san
☑️ Разработка уведомлений в телеграм • Бюджет: ожидает предложений • Срок: по договоренности • Задача: Используя API (api.santiment.net) сделать бота нотификации в телеграме информирующего по движению активов. Нужны уведомления на коричневую линию снизу (она пошла вверх – присылается сигнал, пошла вниз – сигнал) Все данные на монеты к паре с BTC не к паре USDT Например: SOL_BTC BNB_BTC ETH_BTC Таймрейм не важен Полный список монет и доступ к закрытому разделу сайта предоставляется. Откликнуться

Что выведет данный код?
Anonymous voting

photo content

Продолжение к посту выше Приступим к создаю функции. В папке misc создаем файл subscription.py. Наша функция будет выглядет т
Продолжение к посту выше Приступим к создаю функции. В папке misc создаем файл subscription.py. Наша функция будет выглядет так: async def check(user_id, channel: Union[int, str]): bot = Bot.get_current() member = await bot.get_chat_member(chat_id=channel, user_id=user_id) return member.is_chat_member(). Наша функция создана и теперь мы можем ее использовать в коде из прошлого поста, дописав for channel in channels: status = await subscription.check(user_id=call.from_user.id, channel=channel). Теперь, для того, чтобы рассказать пользователю о статусе подписки, мы будем забирать информацию о канале: channel = await bot.get_chat(channel) if status: result += f"Подписка на канал {channel.title} Оформлена!\n\n" else: invite_link = await channel.export_invite_link() result += f"Подписка на канал {channel.title} не оформлена! "

🐍 Курс «Основы программирования на Python» Старт: 9 января Продолжительность: 2 месяца ❗️ Записаться на зимний поток можно д
🐍 Курс «Основы программирования на Python» Старт: 9 января Продолжительность: 2 месяца ❗️ Записаться на зимний поток можно до 19 января включительно! Курс с полного нуля, начальные знания не нужны! Вы получите подробные методички, видео лекции в записи и домашние задания. Очень много практики. ДЗ проверяют кураторы, которые помогут с эффективным изучением предмета. ℹ️ Краткое содержание курса: 1. Введение 2. Переменные 3. Типы данных 4. Операторы ветвления (условные операторы) 5. Циклы 6. Функции 7. Модули и пакеты в Python 8. Исключения (exceptions) 9. Работа с файлами 10. Форматирование в Python 11. Регулярные выражения 🔥 Имеется промо-доступ на 7 дней!

Обработка исключений. Часть 4 У оператора try… except есть необязательный блок else, который, если присутствует, должен разме
Обработка исключений. Часть 4 У оператора try… except есть необязательный блок else, который, если присутствует, должен размещаться после всех блоков except. Его полезно использовать при наличии кода, который должен быть выполнен, если блок try не породил исключений. Пример на ФОТО. Использование блока else предпочтительнее, чем добавление дополнительного кода к блоку try, поскольку исключает неожиданный перехват исключения, которое появилось не по причине выполнения кода, защищенного оператором try… except. При появлении исключения, оно может иметь ассоциированное значение, также известное как аргумент исключения. Присутствие и тип аргумента зависят от типа самого исключения #python_обучение

Продолжение к посту выше Заполняем нашу кнопку: check_button = InlineKeyboardMarkup( inline_keyboard = [[InlineKeyboardButton
Продолжение к посту выше Заполняем нашу кнопку: check_button = InlineKeyboardMarkup( inline_keyboard = [[InlineKeyboardButton(text="Проверить подписки", callback_data="check_subs")]]). Теперь импортируем нашу кнопку в хендлер и создаем еще один, уже для проверки наших подписок. Поэтому это будет хендлер на нажатие кнопки check_button. Пишем: @dp.callback_query_handler(text="check_subs) async def checker(call: CallbackQuery): await call.answer(). После этого мы начнем формировать наш ответ, потому что на какие то каналы человек мог подписаться, а на какие то нет и нам нужно уведомить его об этом: result = str() for channel in channels:. Мы снова проходимся по канал и проверяем статус подписки на них. Но для этого нам нужно создать отдельную функцию, которая, собственно, и будет это делать

Что выведет данный код?
Anonymous voting

photo content

Продолжение к посту выше И прописываем channel_format += f"Канал {chat.title}\n\n". Это будет отформатированная с помощью HTM
Продолжение к посту выше И прописываем channel_format += f"Канал {chat.title}\n\n". Это будет отформатированная с помощью HTML разметри строка, в которую будет зашита ссылка приглашение. Наконец, передаем это сообщение пользователю: await message.answer(f"Вам необходимо подписаться на следующие каналы: \n" f"{channel_format}", replay_markup=check_button, disable_web_page_preview=True). Что тут написано? Мы позволяем пользователю посмотреть на статус его подписок, создав инлайн кнопку после сообщения, и отключаем превью каналов подписки. Далее, приступим к созданию нашей инлайн кнопки check_button. Для этого нам надо перейти в Keyboards/inline и создать файл subscriptions.py. В файле создаем нашу кнопку check_button = InlineKeyboardMarkup(), которую мы заполним в следующем посте

Обработка исключений. Часть 3 В последнем блоке except можно не указывать имени (или имён) исключений. Используйте это с особ
Обработка исключений. Часть 3 В последнем блоке except можно не указывать имени (или имён) исключений. Используйте это с особой осторожностью, так как таким образом легко скрыть настоящую программную ошибку! Также такой обработчик может быть использован для вывода сообщения об ошибке и порождения исключения заново (позволяя при этом обработать исключение коду, вызвавшему обработчик) ФОТО. #python_обучение

Для тех кто просил, канал с мемами для программистов и айтишников👇 https://t.me/+8eN45lIfdTVmNzcy

Скинуть наш новый канал с мемами о проге и IT?
Anonymous voting

Продолжение к посту выше Пишем хендлер, который будет срабатывать по команде channels: @dp.message_handler(Command("channels"
Продолжение к посту выше Пишем хендлер, который будет срабатывать по команде channels: @dp.message_handler(Command("channels")) async def show_channels(message: types.Message):. Теперь, чтобы организовать наш список каналов в одном сообщении, мы сделаем это строкой: channels_format = str() for channel in channels(импортируем из data.config.channels): chat = await bot.get_chat(channel). То есть, мы проходимся по ID или Username каналов и достаем информацию о нашем канале с помощью метода get_chat(). Далее, мы можем присылать либо Username канала, если есть ID, если его нет, то мы можем присылать ссылку на приглашение, то есть попытаться как то этого пользователя добавить в канал. Мы будем просто генерировать ссылку. Это будет: invite_link = await chat.export_invite_link()

Что выведет данный код?
Anonymous voting

photo content

Продолжение к посту выше В async def get_channel_info(message: types.Message): await message.answer(f"Сообщение было переслан
Продолжение к посту выше В async def get_channel_info(message: types.Message): await message.answer(f"Сообщение было переслано из канала {message.forward_from_chat.title}. \n") дописываем f"Username: @{message.forward_from_chat.username}\n" и дополнительно прописываем ID - f"ID: {message_forward_chat.id}". То есть, если канал у нас будет закрытым, у него не будет Username, будет только ссылка по которой можно будет пригласить кого то и ID. Как правило, ID есть абсолютно у всех каналов. После того, как мы получили ID канала, нам нужно сделать список каналов, на которые нужно подписаться и делаем мы это в config.py. Это будет список channels = [] и с помощью хендлера, котороый пропишем в следующем посте, мы будем показывать пользователю каналы, на которые надо подписаться

Обработка исключений. Часть 2 Класс в блоке except совместим с исключением, если он является тем же классом или его базовым к
Обработка исключений. Часть 2 Класс в блоке except совместим с исключением, если он является тем же классом или его базовым классом (но не наоборот — блок, перечисляющий производный класс, несовместим с базовым классом). Например, следующий код будет печатать B, C, D в таком порядке (Фото) Обратите внимание: если блоки except были поменяны местами (сначала с except B), напечатал бы B, B, B — срабатывает первое соответствие, за исключением предложения #python_обучение