Рубрики
Без рубрики

Создайте действие GitHub, которое отправляет повседневную статус COVID19 через телеграмму с помощью Python

Введение Github Action – это крутая функция из GitHub, который можно настроить для отправки событий … Теги с Python, Blogspiritbro1Grish All.

Введение

Действие GitHub – это крутая особенность от Github, который можно настроить для отправки события при нажатии, вытащении или по расписанию, используя Cron в этом руководстве, я скажу вам, как создать действие GitHub, которое использует событие расписания для отправки сообщения в телеграмму о ситуации COVID В мире, что означает, насколько они заражены, сколько восстанавливается и насколько смерть на картинке. Для изображения COVID данных я использую API из MathDroid, вы можете проверить это здесь.

Предварительные условия

  • Учетная запись телеграммы

  • Python 3.6 или новее Python в порядке.

  • sudo apt установить python3-pip -y

  • apt-get install python3-venv

  • python3 -m venv env

  • Источник Env/Bin/Activate.fish

  • База данных MongoDB Вы можете получить один бесплатно в Mongodb Atlas

  • для кода, чтобы отправить сообщение о телеграмме, я создаю его прямо здесь, вы можете клонировать его

Catflip/Telecovid19.

Этот репо пробежен каждый день, чтобы проверить ситуацию Covid 19

Я создаю статью, объясняющую это по адресу https://dev.to/spiritbro1/create-a-github-vaction-that-send-veryday-covid19-status-through-tegram-using-python-3l78

Шаг 1 – Создать учетную запись телеграммы

Прежде чем работать с API Telegram, вам нужно получить свой собственный ID API и хэш:

  1. Войдите в свой Аккаунт Telegram с номером телефона учетной записи разработчика для использования.

  2. Нажмите под инструментами разработки API.

  3. Создать новое окно приложения появится. Заполните данные приложения. Нет необходимости вводить ни один URL, и только первые два поля (заголовок приложения и короткое имя) в настоящее время можно изменить позже.

  4. Нажмите на создание приложения в конце. Помните, что ваш хеш API секрет, и телеграмма не позволит вам отозвать ее. Не публикуйте его где угодно!

Шаг 2 – Создать секрет

Секрет используется для вызова секрета в нашем счете GitHub для нашего GitHub Action, вы можете сначала создать секрет, создавая REPO сначала, а затем щелкнуть настройки и создать секрет

добавить секрет, как на изображении, который состоит из

MONGODB_DATABASE=#database name
MONGODB_HOST=#mongodb URI from mongodb atlas dont forget to add this '?retryWrites=false' to the end of the URI
TELEGRAM_API_HASH=#telegram api hash that we get before also
TELEGRAM_API_ID=#your telegram api id that we get before
SEND_TO=#username of your account or just type 'me'

Если вы разрабатываете в местном, вы также можете добавить эту переменную в файл под названием .env.env.

Шаг 3 – Давайте создадим действие GitHub

Создайте папку под названием. Github и внутри этой папки Создайте папку с именем рабочих процессов и внутри этой папки создают файл YAML с любым именем, который вы хотите, давайте назвать его CI.yml.

Скопируйте вставьте этот файл YAML

name: SCHEDULE

on: 
  push:
  schedule:
    - cron : '0 0 * * *'

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
    - name: Set up Python 3.x
      uses: actions/setup-python@v2
      with:
        python-version: '3.x' 
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -r requirements.txt
    - name: Send message
      run: python index.py
      env:
        MONGODB_HOST: ${{ secrets.MONGODB_HOST }}
        MONGODB_DATABASE: ${{ secrets.MONGODB_DATABASE }}
        TELEGRAM_API_ID: ${{ secrets.TELEGRAM_API_ID }}
        TELEGRAM_API_HASH: ${{ secrets.TELEGRAM_API_HASH }}
        SEND_TO: ${{ secrets.SEND_TO }}

Этот файл YAML в принципе скажет нам, чтобы запускать код в полночь каждый день или нажать и отправлять его на наше имя пользователя или имя пользователя вашего друга в Telegram

Вывод

Теперь вы знаете, как запланировать приложение для запуска в определенное время с использованием отказ от действий GitHub Это неограниченное количество, если вы используете публичное репо, как я, если у вас есть частный репо, у вас есть 2000 минута бесплатно И если вы хотите больше, вы должны оплатить, вы можете увидеть цену в Github, и вы также можете изменить рабочие процессы, чтобы соответствовать вашему регистру, давайте скажем каждую пять минут и так далее, и вы также можете изменить код Python, чтобы он соответствовал вашему Используйте случай также.

Оригинал: “https://dev.to/spiritbro1/create-a-github-action-that-send-everyday-covid19-status-through-telegram-using-python-3l78”