Введение
Действие GitHub – это крутая особенность от Github, который можно настроить для отправки события при нажатии, вытащении или по расписанию, используя Cron в этом руководстве, я скажу вам, как создать действие GitHub, которое использует событие расписания для отправки сообщения в телеграмму о ситуации COVID В мире, что означает, насколько они заражены, сколько восстанавливается и насколько смерть на картинке. Для изображения COVID данных я использую API из MathDroid, вы можете проверить это здесь.
Added open graph image API endpoint for specific countries. Example: https://t.co/uvoeDtsnCX.
— 00d1.eth | mathdroid.eth | $REFI ⭕ (@mathdroid) March 15, 2020
Customizable with `width` and `height` query param as usual. No line chart — yet. PRs are welcome. pic.twitter.com/mZWRxeA4As
Предварительные условия
Учетная запись телеграммы
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 и хэш:
Войдите в свой Аккаунт Telegram с номером телефона учетной записи разработчика для использования.
Нажмите под инструментами разработки API.
Создать новое окно приложения появится. Заполните данные приложения. Нет необходимости вводить ни один URL, и только первые два поля (заголовок приложения и короткое имя) в настоящее время можно изменить позже.
Нажмите на создание приложения в конце. Помните, что ваш хеш 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”