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

Эта статья - часть задачи Daily Python, которую я взял на себя. Я буду писать короткие статьи о Python ежедневно.

Требования:

  1. Python 3.0
  2. Пип

Установите следующие пакеты:

  1. Tweepy - Библиотека, обеспечивающая легкий доступ к API Twitter.
  2. Запросы - Библиотека для выполнения HTTP-запросов.
  3. json - Библиотека для обработки объектов JSON
  4. время
pip install tweepy requests

Импортируем необходимые модули

import requests
import tweepy
import time
import json

Первый шаг - настроить Twitter-бота с помощью tweepy.

Примечание. Следуйте инструкциям в следующей статье и создайте свое приложение.



После того, как вы создали свое приложение twitter и сгенерировали ключи API и токены доступа, определите функцию для настройки бота twitter.

def setup_Bot():
    consumerKey = "YOUR_API_KEY"
    consumerSecret = "YOUR_API_KEY_SECRET"
    accessToken = "YOUR_ACCESS_TOKEN"
    accessTokenSecret = "YOUR_ACCESS_TOKEN_SECRET"
    auth = tweepy.OAuthHandler(consumerKey, consumerSecret)
    auth.set_access_token(accessToken, accessTokenSecret)
    api = tweepy.API(auth)
    return api

Теперь давайте напишем функцию, которая будет получать вдохновляющую цитату для бота.

Следующий API предоставляет случайные вдохновляющие цитаты:



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

def get_Quote():
    params = {
        'method':'getQuote',
        'lang':'en',
        'format':'json'
    }
    res = requests.get('http://api.forismatic.com/api/1.0/',params)
    jsonText =json.loads(response.text)
    return jsonText["quoteText"],jsonText["quoteAuthor"]

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

Наконец, давайте напишем цикл, который будет твитнуть вдохновляющую цитату каждую минуту

api = setup_Bot()
while True:
    try:
        quote,author = get_Quote()
        status = quote+" -"+author+"\n"+"#python \
        #dailypython #twitterbot #pythonquotes #programming"
        print('\nUpdating : ',status)
        api.update_status(status=status)
        print("\nGoing to Sleep for 1 min")
        time.sleep(60)
    except Exception as ex:
        print(ex)
        break

Измените этот код и заставьте своего твиттер-бота делать то, что вы хотите. Ознакомьтесь с условиями, предоставленными Twitter для разработки ботов для Twitter.

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

Следите за ежедневным вызовом Python здесь: