Эй, ребята, сегодня вы собираетесь научиться разработать 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”