Как отправить твит с помощью GitHub Copilot

В этом месяце я узнал, как отправить твит с помощью GitHub Copilot. Это было так здорово! Предвижу, что вам может быть интересно:

  • Что такое GitHub Copilot?
  • Почему я захотел отправить твит с помощью GitHub Copilot?
  • В чем его ценность для вас?
  • И как я отправил твит с помощью Copilot?

К счастью, я отвечу на все эти вопросы в этом посте!

Содержание
  1. Во-первых, что такое GitHub Copilot?
  2. Почему я использую GitHub Copilot для отправки твитов?
  3. Причина 1
  4. Причина 2
  5. Причина 3
  6. В чем ценность этого для вас?
  7. Как отправить твит с помощью Copilot
  8. Шаг 1: Зарегистрируйте аккаунт разработчика Twitter.
  9. Шаг 2: Создайте приложение на платформе Twitter Developer Platform
  10. Шаг 3: Включите GitHub Copilot
  11. Шаг 4: Установите расширение Copilot в вашем редакторе
  12. Шаг 5: Установите Tweepy
  13. Шаг 6: Создайте файл sendTweet.py
  14. Шаг 7: Используем Copilot для импорта библиотеки tweepy
  15. Шаг 8: Просмотр нескольких предложений от Copilot
  16. Шаг 9: Создайте конфигурационный файл для хранения учетных данных
  17. Шаг 10: Используйте Copilot для автозаполнения конфигурационного файла
  18. Шаг 11: В файле sendTweet.py импортируйте файл конфигурации с Copilot.
  19. Шаг 12: В файле sendTweet.py передайте значения для следующих параметров: consumer_key, consumer_secret, access_token и access_token_secret.
  20. Шаг 13: В файле sendTweet.py напишите содержимое твита.
  21. Шаг 14: Теперь пришло время отправить твит.
  22. Шаг 15: Выведите значение ответа для проверки на вменяемость.
  23. Шаг 16: Убедитесь, что оба файла содержат все необходимые строки кода
  24. Шаг 17: Запустите код
  25. Извлеченные уроки

Во-первых, что такое GitHub Copilot?

Copilot — это парный программист с искусственным интеллектом, который помогает вам писать код быстрее и с меньшими трудозатратами. Если вы никогда им не пользовались и с трудом представляете себе его поведение, я бы сравнил его с функцией Smart Compose в Gmail и Google Docs. Подобно Smart Compose, GitHub Copilot предугадывает вашу следующую строку кода, чтобы повысить вашу производительность.

Почему я использую GitHub Copilot для отправки твитов?

Причина 1

Я являюсь защитником интересов разработчиков, и часть моей роли заключается в создании демонстрационных роликов для повышения осведомленности разработчиков о новых функциях. В июле команда Twitter DevRel обратилась к команде GitHub DevRel с просьбой о сотрудничестве в создании потока, демонстрирующего Twitter API v2 и GitHub Copilot. Смысл стрима — показать, что GitHub Copilot может помочь вам использовать API v2 Twitter. Я с радостью согласился сделать стрим, но потом понял, что мне нужно использовать Tweepy, простую в использовании библиотеку Python для доступа к API Twitter. У меня была одна огромная, вопиющая проблема: я не знаю, как писать на Python, поэтому мне нелегко пользоваться этой библиотекой. Я опытный разработчик JavaScript. Я даже могу сориентироваться в кодовой базе Java или C#, но я никогда в жизни не касался Python. Все говорят, что Python — это легко, потому что его легко читать, и именно этот язык они изучали в школе. Однако у меня было меньше недели на подготовку и демонстрацию демонстрации, а за мной наблюдали незнакомые люди в Интернете.

По совпадению, я обнаружил, что опираюсь на Copilot для доступа к API Twitter с помощью Tweepy. Хотя я нервничал, я понял, что это идеальная ситуация. Я мог органично показать, как GitHub Copilot помог мне использовать Tweepy. И это сработало! GitHub Copilot помог мне создать демо-версию менее чем за 30 минут. Хотя во время демонстрации у меня возникло несколько заминок, она была эффективной.

Признаться, в своей роли я подписался на демонстрацию, обсуждение или сборку с использованием незнакомых инструментов, потому что считаю, что выход из зоны комфорта поможет мне расти и быстро осваивать новые концепции. Я использовал GitHub Copilot для множества проектов, чтобы помочь себе завершить быстрые проекты. Вот несколько примеров:

  • Демонстрация GitHub Copilot с помощью Applitools.
  • Создание автоматизации в моих репозиториях.
  • Выполнение случайных коротких заявок менее чем за день.

GitHub Copilot не заменяет изучение тонкостей написания кода, поскольку, не зная, что вы делаете, вы можете непреднамеренно внедрить ошибки или некачественные методы. Однако если у вас есть представление о том, чего вы хотите достичь, и твердое понимание логики, стоящей за строками кода, которые вы хотите написать, но вы не знакомы с синтаксисом, Copilot может помочь.

Причина 2

Я решил отправить твит с помощью Copilot, потому что я зависим от Twitter, и мне кажется, что программная отправка твита более интересна, чем получение твитов через GET-запрос.

Причина 3

На первый взгляд, программная отправка твита кажется непрактичной. Одна из идей, которая пришла мне в голову, заключается в том, что проекты с открытым исходным кодом могли бы автоматически отправлять твиты Good First Issues всякий раз, когда выпуск помечен как «хороший первый выпуск». Цель — привлечь новых участников и помочь новым участникам найти достижимые проблемы. С помощью Copilot я создал решение для этого, используя GitHub Actions, о котором я напишу в одном из следующих постов.

В чем ценность этого для вас?

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

Как отправить твит с помощью Copilot

Шаг 1: Зарегистрируйте аккаунт разработчика Twitter.

Информацию о регистрации аккаунта разработчика Twitter вы можете найти в документации Twitter.

Шаг 2: Создайте приложение на платформе Twitter Developer Platform

Этот шаг поможет вам сгенерировать необходимые токены и ключи для доступа к API Twitter. Обратите внимание: речь не идет о создании приложения, существующего в магазине приложений. Вместо этого речь идет о «приложении», которое вы создаете для взаимодействия с API-интерфейсами с помощью API Twitter. Сохраните секрет потребителя, ключ потребителя, токен доступа и секрет токена доступа, потому что мы будем использовать эти учетные данные позже в этом руководстве.

Шаг 3: Включите GitHub Copilot

Чтобы включить GitHub Copilot, перейдите по адресу https://github.com/settings/copilot. В результате вы попадете на страницу с кнопкой, которая предложит вам включить GitHub Copilot. Обратите внимание, что у вас есть бесплатный доступ к GitHub Copilot, если вы являетесь студентом.

Шаг 4: Установите расширение Copilot в вашем редакторе

Вы можете установить расширение GitHub Copilot в Neovim, JetBrains IDEs, Visual Studio и Visual Studio Code. На рисунке ниже я выделил расширение GitHub Copilot и расширение GitHub Copilot Labs. Прочитайте мою прошлую статью в блоге, чтобы узнать о различиях между этими расширениями. Когда вы установите расширение, оно может попросить вас войти в систему, поэтому следуйте подсказкам, чтобы завершить процесс аутентификации.

Шаг 5: Установите Tweepy

Как я уже упоминал, tweepy — это библиотека Python, которая упрощает использование API Twitter. Похоже, Twitter ценит ее существование, поскольку команда Twitter DevRel предложила мне использовать эту библиотеку. Чтобы начать работу с Tweepy,

  • Создайте папку, в которую вы хотите поместить связанный код этого проекта.
  • Внутри этой папки выполните следующую команду для установки tweepy:
pip3 install tweepy
Войти в полноэкранный режим Выйти из полноэкранного режима
  • Если вы уже установили tweepy, выполните команду
pip3 install tweepy --upgrade
Войти в полноэкранный режим Выйти из полноэкранного режима

Шаг 6: Создайте файл sendTweet.py

Я сохранил файл sendTweet.py в новой директории (она же папка) под названием copilot-tweepy.

Шаг 7: Используем Copilot для импорта библиотеки tweepy

Я написал комментарий, который гласил

# import the tweepy library
Войти в полноэкранный режим Выйти из полноэкранного режима

Это было полезно для меня, потому что я не знал, как работать с импортом библиотек в Python, а Copilot показал мне, как это сделать. На скриншоте ниже он вводит строку кода, которая гласит,

import tweepy
Войти в полноэкранный режим Выйти из полноэкранного режима

Шаг 8: Просмотр нескольких предложений от Copilot

Я написал комментарий, чтобы использовать клиент tweepy и свои учетные данные API, но Copilot не предложил нужного решения! Поскольку Twitter API v2 еще относительно новый, он не будет отображаться в качестве главного предложения.

На скриншоте ниже показано, как Copilot сделал предложение, не соответствующее моим целям.

По умолчанию Copilot предоставляет первоначальное предложение, но вы можете увидеть больше предложений Copilot, если:

  • Наведите курсор на предложение Copilot, и он отобразит опции для просмотра других предложений

    ИЛИ

  • использовать сочетания клавиш. Узнать о сочетаниях клавиш Copilot для каждой конкретной операционной системы можно здесь.

В данной ситуации я выбрал опцию «Открыть GitHub Copilot», чтобы показать несколько предложений. Открылась новая вкладка с 119 строками предложений. Прочитав немного документации по Twitter API, я узнал, что tweepy.Client — это правильный синтаксис для Twitter API v2, поэтому я искал именно по ключевым словам tweepy.Client. Я нашел нужное мне решение и принял его.

Предложение, которое сработало для меня лучше всего, было следующим

client = tweepy.Client(consumer_key="",
                       consumer_secret="",
                       access_token="",
                       access_token_secret="")
Войдите в полноэкранный режим Выйти из полноэкранного режима

Шаг 9: Создайте конфигурационный файл для хранения учетных данных

Я создал файл config.py в том же каталоге, что и sendTweet.py. Я использовал этот файл, чтобы избежать публичного раскрытия учетных данных API.

Шаг 10: Используйте Copilot для автозаполнения конфигурационного файла

Я написал эти первые несколько строк в своем конфигурационном файле.

# consumer secret
CONSUMER_SECRET_KEY = ""
# consumer key
Войти в полноэкранный режим Выйти из полноэкранного режима

Теперь Copilot может сделать вывод, что мне нужно включить ACCESS_TOKEN и ACCESS_TOKEN_SECRET.

Я передал правильные значения для каждого ключа.

Шаг 11: В файле sendTweet.py импортируйте файл конфигурации с Copilot.

Я написал комментарий # import the config file и принял предложение Copilot в следующей строке.

Шаг 12: В файле sendTweet.py передайте значения для следующих параметров: consumer_key, consumer_secret, access_token и access_token_secret.

По мере того, как вы будете вводить каждое значение, Copilot заметит закономерность и автоматически заполнит значения за вас!

Вот как должен выглядеть этот блок кода, когда вы введете все значения:

client = tweepy.Client(consumer_key=config.CONSUMER_KEY,
                       consumer_secret=config.CONSUMER_SECRET_KEY,
                       access_token=config.ACCESS_TOKEN,
                       access_token_secret=config.ACCESS_TOKEN_SECRET)
Войти в полноэкранный режим Выйти из полноэкранного режима

Шаг 13: В файле sendTweet.py напишите содержимое твита.

Я написал комментарий, который гласил,

# create a  variable called tweet with a string that says 'I wrote this tweet with Copilot
Войти в полноэкранный режим Выйти из полноэкранного режима

Copilot правильно интерпретировал мой комментарий, поэтому я принял первоначальное предложение.

Шаг 14: Теперь пришло время отправить твит.

На этом шаге мне пришлось написать очень специфический комментарий. Изначально я написал комментарий, который гласил,

# send tweet
Войти в полноэкранный режим Выйти из полноэкранного режима

К сожалению, Copilot выплюнул предложения от Twitter API v1. Чтобы заставить Copilot выдать нужное предложение, я написал

# send tweet with client.create_tweet method and text as argument. Save the result in a variable called response
Войти в полноэкранный режим Выйти из полноэкранного режима

На этот раз Copilot выдал мне правильные результаты.

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

# send tweet with client.create_tweet method and text as argument. Save the result in a variable called response
response = client.create_tweet(text=tweet)
Войти в полноэкранный режим Выйти из полноэкранного режима

Шаг 15: Выведите значение ответа для проверки на вменяемость.

Печать переменной ответа может помочь нам узнать, был ли наш твит успешным или нет и почему.

print(response)
Войти в полноэкранный режим Выход из полноэкранного режима

Шаг 16: Убедитесь, что оба файла содержат все необходимые строки кода

Оба моих файла выглядели как приведенные ниже фрагменты кода:

sendTweet.py

# import the tweepy library
import tweepy
# import the config file
import config
# create client with tweepy.Client with consumer key and consumer secret and access token as arguments
client = tweepy.Client(consumer_key=config.CONSUMER_KEY,
                       consumer_secret=config.CONSUMER_SECRET_KEY,
                       access_token=config.ACCESS_TOKEN,
                       access_token_secret=config.ACCESS_TOKEN_SECRET)

# create a  variable called tweet with a string that says 'I wrote this tweet with Copilot'
tweet = 'I wrote this tweet with Copilot'

# send tweet with client.create_tweet method and text as argument. Save the result in a variable called response
response = client.create_tweet(text=tweet)


print(response)
Вход в полноэкранный режим Выйти из полноэкранного режима

config.py

# consumer secret 
CONSUMER_SECRET_KEY = "YOUR SECRET KEY GOES HERE"
# consumer key
CONSUMER_KEY = "YOUR KEY GOES HERE"
# access token
ACCESS_TOKEN = "YOUR TOKEN GOES HERE"
# access token secret
ACCESS_TOKEN_SECRET = "YOUR TOKEN SECRET GOES HERE"
Вход в полноэкранный режим Выйти из полноэкранного режима

Шаг 17: Запустите код

В своем терминале я выполнил команду: python3 sendTweet.py. Чтобы убедиться в успехе, я зашел в свою ленту Twitter и обнаружил твит!

Извлеченные уроки

Ключом к получению наилучших результатов от Copilot является:

  • написание четких, конкретных комментариев
  • использование Copilot, как только он сможет распознать непрерывные паттерны в вашем коде
  • и проверка альтернативных предложений от Copilot.

Надеюсь, вам было интересно экспериментировать с Copilot и Twitter API v2! Если у вас все получилось, опубликуйте свой твит в комментариях ниже!

Оцените статью
devanswers.ru
Добавить комментарий