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

Как создать бот Twitter, используя Python и Tweepy (быстро и легко)

Эй, ребята, сегодня вы собираетесь научиться разрабатывать бот в Твиттере, используя Python и библиотеку под названием … Tagged с Python, Nowerners, Twitter, Учебник.

Эй, ребята, сегодня вы собираетесь научиться разработать Twitter бот, используя Python и библиотеку под названием Tweepy Отказ Основанная в марте 2006 года, Twitter доступен на 40 языках и имеет около 335 миллионов активных пользователей в месяц. Предлагая пользователям пространство для разговора и поделиться письменным контентом, фотографиями и видео, Twitter – одна из самых известных социальных сетей.

Оглавление

  • Получение ваших API ключей
  • Установите Tweepy
  • Аутентифицировать ваше приложение
  • Пример бота
  • Вдохновляющие примеры

Получение ваших ключей API в Twitter для разработчиков

Прежде всего, чтобы подключить свой бот с вашей учетной записью Twitter, вам нужно использовать API Twitter. Чтобы получить ключи API, вам нужно учетную запись Twitter. Если у вас нет одного, вы можете создать здесь Теперь вы получите доступ к Twitter для разработчиков Отказ После доступа к нему нажмите на Portal Developer. Заполните регистрацию вашего приложения, отвечая на форму. После этого перейдите к проектам и приложениям -> Ваше приложение -> Редактирование разрешений приложений Здесь вы можете найти свои разрешения на приложение и ключи API. После создания учетных данных сохраните их, чтобы позже использовать в своем коде.

Установите Tweepy

Перед началом кодирования необходимо установить библиотеку, которую мы собираемся использовать. Самый простой способ установки его использует Пип Отказ (Если у вас нет установленных PIP, Нажмите здесь Отказ В вашем CMD:

# Install Tweepy
$ pip install tweepy

Аутентифицировать ваше приложение

Теперь пришло время начать веселую часть, кодирующую. Прежде всего создать файл под названием «Twitter.py». Откройте его в своем IDE и добавьте этот код:

# Import Tweepy
import tweepy

# Change with your API keys
API_KEY = ['API_KEY'] 
API_KEY_SECRET = ['API_KEY_SECRET'] 
ACCESS_TOKEN = ['ACCESS_TOKEN']
ACCESS_SECRET = ['ACCESS_SECRET']

# Connect with the API
auth = tweepy.OAuthHandler(API_KEY, API_KEY_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)

# Add your code 

Хорошо, теперь у вас есть основные для создания функционального бота, но я дам вам пример бота, который отвечаю на «@user Hello World», когда кто-то упомянул его.

Пример бота

После выполнения предыдущих шагов вам понадобится функция, чтобы сохранить последний идентификатор, отвеченный ботом. Создайте файл под названием «LastID.TXT» и поместите «1» внутри без кавычек. Затем добавьте этот код в ваш файл Twitter.py:

fileName = 'lastId.txt'
# Function to save the last id answered on ./lastId.txt
def saveLastId(lastId, fileName): 
    f_write = open(fileName, 'w')
    f_write.write(str(lastId))
    f_write.close()
    return

Если у вас есть функция, чтобы сохранить идентификатор, вам нужно один, чтобы прочитать, что ваш бот сохранен или он ответит всегда один и тот же Tweet

# Function to read the last id that is saved on ./lastId.txt
def readLastId(fileName): 
    f_read = open(fileName, 'r') 
    ultimo_id_lido = int(f_read.read().strip())
    f_read.close()
    return ultimo_id_lido

После этого мы создадим функцию, чтобы ответить на твиты

# Function to answer a mention
def tweet():
    print('BOT WORKING...')
    lastId = readLastId(fileName) # Get the last ID
    mentions = api.mentions_timeline(lastId, tweet_mode='extended') # Get all mentions since the last ID
    for mention in reversed(mentions): # Reads the mentions in reverse order
        if '@youruser'.upper() in mention.full_text.upper(): # Verifies if your bot was mentioned 
            lastId = mention.id
            print(str(mention.id) + ' - ' + mention.full_text) # Prints the mention
            saveLastId(lastId, fileName) #Save the last id 
            print('Answering tweet')
            message = 'Hello @{}!'.format(mention.user.screen_name) # Message to be sent
            api.update_status(status=message, in_reply_to_status_id=mention) # Reply to the mention

И завершить код, мы добавим цикл, чтобы заставить бот работать каждые 30 секунд. Как мы используем «время», то нам нужно добавить импорт в верхней части файла.

import time

В последней строке файла:

#Loop that runs the bot every 30 seconds
while True: 
    tweet()  
    time.sleep(30)

Таким образом, последний файл будет чем-то вроде:

# Import Tweepy
import tweepy
import time

# Change with your API keys
API_KEY =['API_KEY'] 
API_KEY_SECRET = ['API_KEY_SECRET'] 
ACCESS_TOKEN = ['ACCESS_TOKEN']
ACCESS_SECRET = ['ACCESS_SECRET']

# Connect with the API
auth = tweepy.OAuthHandler(API_KEY, API_KEY_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)

fileName = 'lastId.txt'
# Function to save the last id answered on ./lastId.txt
def saveLastId(lastId, fileName): 
    f_write = open(fileName, 'w')
    f_write.write(str(lastId))
    f_write.close()
    return

# Function to read the last id that is saved on ./lastId.txt
def readLastId(fileName): 
    f_read = open(fileName, 'r') 
    ultimo_id_lido = int(f_read.read().strip())
    f_read.close()
    return ultimo_id_lido

# Function to answer a mention
def tweet():
    print('BOT WORKING...')
    lastId = readLastId(fileName) # Get the last ID
    mentions = api.mentions_timeline(lastId, tweet_mode='extended') # Get all mentions since the last ID
    for mention in reversed(mentions): # Reads the mentions in reverse order
        if '@youruser'.upper() in mention.full_text.upper(): # Verifies if your bot was mentioned 
            lastId = mention.id
            print(str(mention.id) + ' - ' + mention.full_text) # Prints the mention
            saveLastId(lastId, fileName) #Save the last id 
            print('Answering tweet')
            message = 'Hello @{}!'.format(mention.user.screen_name) # Message to be sent
            api.update_status(status=message, in_reply_to_status_id=mention) # Reply to the mention

#Loop that runs the bot every 30 seconds
while True: 
    tweet()  
    time.sleep(30)

Теперь вам просто нужно запустить файл «Twitter.py», и ваш бот начнет работать. Если вы хотите, вы можете создать .exe и сделать его работать во втором плане. Но это станет еще одним учебником.

Вдохновляющие примеры

Конечно, это очень простой пример бота, но вы можете создавать очень продвинутые боты, используя Tweepy. Если вы хотите прочитать все возможности, вы можете прочитать документацию Tweepy здесь Отказ Теперь пришло время быть креативным и создавать боты. Если вы не творческий человек вот несколько примеров ботов в Твиттере, чтобы вдохновить вас:

Теперь вы готовы создать удивительные боты Twitter. Следующий шаг загружает свой бот и запустить его на облаке, но это тема, которая станет другой статьей. Если у вас есть какие-либо сомнения, вы можете связаться со мной здесь:

Спасибо за чтение, если вам это нравится и узнали что-то, как пост, комментарий и делиться с другими разработчиками!: D.

Оригинал: “https://dev.to/fegroders/how-to-create-a-twitter-bot-using-python-and-tweepy-quick-and-easy-p1b”