# 如何使用 GitHub Copilot 发送 Tweet(译)

文章目录

    • [首先,什么是 GitHub Copilot](#首先,什么是 GitHub Copilot)
    • [为什么我使用GitHub Copilot 发送 Tweet?](#为什么我使用GitHub Copilot 发送 Tweet?)
      • [理由 1](#理由 1)
      • [理由 2](#理由 2)
      • [理由 3](#理由 3)
    • 它对你来说有什么价值?
    • [如何使用 Copilot 发送推文](#如何使用 Copilot 发送推文)
      • [步骤一:注册 Twitter 开发者账户](#步骤一:注册 Twitter 开发者账户)
      • [步骤二:在 Twitter 开发者平台创建应用程序](#步骤二:在 Twitter 开发者平台创建应用程序)
      • [步骤三:启用 GitHub Copilot](#步骤三:启用 GitHub Copilot)
      • [步骤四:在编辑器中安装 Copilot 插件](#步骤四:在编辑器中安装 Copilot 插件)
      • [步骤五:安装 Tweepy](#步骤五:安装 Tweepy)
      • [步骤六:创建一个名为 sendTweet.py 的文件](#步骤六:创建一个名为 sendTweet.py 的文件)
      • [步骤七:让我们使用 Copilot 导入 tweepy 库](#步骤七:让我们使用 Copilot 导入 tweepy 库)
      • [步骤八:查看 Copilot 的多项建议](#步骤八:查看 Copilot 的多项建议)
      • 步骤九:创建配置文件来存储你的授权
      • [步骤十:使用 Copilot 去自动补全配置文件](#步骤十:使用 Copilot 去自动补全配置文件)
      • [步骤十一:在 sendTweet.py 文件中,使用 Copilot 导入配置文件](#步骤十一:在 sendTweet.py 文件中,使用 Copilot 导入配置文件)
      • [步骤十二:在 sendTweet.py 文件中,传入以下参数的值:consumer_key、consumer_secret、access_token 和 access_token_secret](#步骤十二:在 sendTweet.py 文件中,传入以下参数的值:consumer_key、consumer_secret、access_token 和 access_token_secret)
      • [步骤十三:在 sendTweet.py 文件中,写入推文的内容](#步骤十三:在 sendTweet.py 文件中,写入推文的内容)
      • 步骤十四:现在,是时候发送推文了
      • [步骤十五:打印 response 的值做完整性检查](#步骤十五:打印 response 的值做完整性检查)
      • 步骤十六:确认两个文件都包含了所有必须的代码
      • 步骤十七:运行代码
    • 经验总结
    • 碎碎念
    • 参考资料:

这个月,我学习了如何使用 Github Copilot 发送 tweet。这太酷了!我猜你可能会想:

  • 什么是 GitHub Copilot?

  • 为什么我想要使用 GitHub Copilot 发送 tweet?

  • 它对你来说有什么价值?

  • 如何通过 Copilot 发送 tweet?

幸运的是,我将在这篇文章中回答所有这些问题!

首先,什么是 GitHub Copilot

Copilot 是一款 AI 结对程序员,可帮助你以更少的工作更快地编写代码。如果你从未使用过它并且你正在努力想象它的行为,我会将其比作 Gmail 和 Google Docs 中的智能撰写功能。与智能撰写类似,GitHub Copilot 会预测你的下一行代码以提高你的工作效率。

为什么我使用GitHub Copilot 发送 Tweet?

理由 1

我是一名开发人员倡导者,我的部分职责是构建演示以提高开发人员对新功能的认识。7 月,Twitter 的 DevRel 团队要求 GitHub DevRel 团队合作制作一个展示 Twitter API V2 和 GitHub Copilot 的直播。该直播的目的是展示 GitHub Copilot 可以帮助你利用 Twitter 的 API v2。我很兴奋地同意做这个直播,然后我意识到我必须使用 Tweepy,这是一个易于使用的 python 库,用于访问 Twitter API。有一个巨大而显然的问题:我不知道如何使用 Python 编写,所以它对我来说并不容易使用。我是一名训练有素的 JavaScript 开发人员。我甚至可以在 Java 或 C# 代码中找到自己的方法。但我一生从未接触过 Python。每个人都说 Python 很简单,因为它很容易阅读,这是他们在学校里学的语言。然而,我只有不到一周的时间来准备和发布演示,网上有很多陌生人在看着我。

巧合的是,我发现可以在 Copilot 上学习使用 Tweepy 访问 Twitter 的 API。虽然我很紧张,但我意识到这是一个完美的解决方案。我可以结构性的展示 GitHub Copilot 如何帮助我使用 Tweepy。这招很奏效!GitHub Copilot 在不到 30 分钟的时间里帮助我构建了演示。虽然我在游泳时打了几个小嗝,但它很奏效。

诚然,在我的角色中,我已经报名参加演示、讨论或使用不熟悉的工具进行构建,因为我相信离开我的舒适区将帮助我快速成长和学习的概念。我已经在多个项目中使用 GitHub Copilot ,它帮助我快速完成项目。一些例子包括:

  • 使用 Applitools 演示 GitHub Copilot

  • 在我的存储库中构建自动化

  • 只需在不到一天的时间内完成随机的简短申请

GitHub Copilot 并不能取代学习如何编程的复杂性,因为在不知道自己在做什么的情况下,你很容易无意中引入错误或不良实践。但是,如果你已经清楚要完成的任务,并对要编写的代码行背后的逻辑有深入的了解,但不熟悉语法,Copilot 可以提供帮助。

理由 2

我选择使用 Copilot 发送推文是因为我沉迷于 Twitter,而且我觉得以编程方式发送推文比通过 GET 请求检索推文更令人兴奋。

理由 3

从表面上看,以编程方式发送推文似乎并不实用。我的一个想法是,每当一个问题被标记「第一好问题」时,开源项目就可以自动在推特上发布「第一好问题」。目的是吸引新的贡献者并帮助新的贡献者找到可实现的问题。在Copilot 的帮助下,我使用 GitHub Action 构建了一个解决方案,我将在以后得文章中介绍该解决方案。

它对你来说有什么价值?

如果你对于 GitHub Copilot 如何为你工作感到好奇,这里写了很多有关各种用例的文章。对于我的简短回答,这很有趣,你将学习如何优化 Copilot 的功能以提高你的工作效率。

如何使用 Copilot 发送推文

步骤一:注册 Twitter 开发者账户

你可以在 Twitter 文档中找到有关注册 Twitter 开发者账户的信息

步骤二:在 Twitter 开发者平台创建应用程序

此步骤将帮助你生成访问 Twitter API 所需的令牌和密钥。请注意:这不是创建应用程序商店中存在的应用程序。相反,它指的是你正在构建用于通过 Twitter 的 API 与 API 进行交互的「应用程序」。保存 consumer secret、consumer key、access token 和 access token secret ,因为我们将在本教程的后面使用这些授权。

步骤三:启用 GitHub Copilot

要启用 GitHub Copilot,请导航到 https://github.com/settings/copilot 。这应该会带你进入一个带有按钮的页面,提示你启用 GitHub Copilot。请注意,如果你是学生,则可以免费访问 GitHub Copilot。

步骤四:在编辑器中安装 Copilot 插件

你可以安装 GitHub Copilot 的插件在 Neovim、JetBrains IDEs、Visual Studio 和 Visual Stuadio Code。在下图中,我高亮了 Github Copilot 和 Github Copilot Labs 插件。阅读之前的博客 ,了解这些插件的差异。安装插件程序后,它可能会要求你登录,因此请安装提示完成身份验证过程。

步骤五:安装 Tweepy

正如我提到的,tweepy 是一个 Python 库,可以轻松使用 Twitter API。Twitter 似乎很欣赏它的存在,因为 Twitter DevRel 团队建议我使用该库。要开始使用 tweepy:

  • 创建一个文件夹,用于存放该项目相关代码。

  • 在该文件夹中,运行如下命令来安装 tweepy:

    复制代码
    pip3 install tweepy
  • 如果你曾经安装过 tweepy,运行如下命令

    复制代码
    pip3 install tweepy --upgrade

步骤六:创建一个名为 sendTweet.py 的文件

我将文件 sendTweet.py 存储在名为 copilot-tweepy 的新目录中.

步骤七:让我们使用 Copilot 导入 tweepy 库

我写了一行注释

复制代码
# import the tweepy library

这对我很有帮助,因为我不确定如何处理 Python 中的库导入,Copilot 向我展示了如何操作。在下面的屏幕截图中,它填充了一行代码:

复制代码
import tweepy

步骤八:查看 Copilot 的多项建议

我写了一条注释,这样我就可以使用 tweepy 客户端和我的 API 授权,但是 Copilot 没有建议所需的解决方案!由于 Twitter API v2 仍然相对较新,因此它不会出现在首要建议中。

下图的截屏显示了 Copilot 提出的建议与我的目标之间的不准确。

默认情况下,Copilot 将提供初始建议,但你可以通过如下的方式查看更多 Copilot 的建议:

  • 将鼠标悬停在 Copilot 的建议上,它将列举出更多可选的建议

  • 使用键盘快捷键。学习更多的操作 Copilot 的快捷键,请点这里

对于这种情况,我选择「打开 GitHub Copilot」选项来显示多个建议。它打开了一个新 tab ,其中包括 119 行建议。在阅读了一些 Twitter API 文档后,我了解到 tweepy.Client 是 Twitter API v2 的正确语法,因此我专门搜索了关键字 tweepy.Client。我找到了我需要的解决方案并接受了该解决方案。

最适合我的建议是

复制代码
client = tweepy.Client(consumer_key="",
                       consumer_secret="",
                       access_token="",
                       access_token_secret="")

步骤九:创建配置文件来存储你的授权

我在与 sendTweet.py 相同的目录中创建一个名为 config.py 的文件。我使用此文件来避免向公众公开 API 授权。

步骤十:使用 Copilot 去自动补全配置文件

我在配置文件中写入了前几行

复制代码
# consumer secret
CONSUMER_SECRET_KEY = ""
# consumer key

Copilot 现在可以推断我需要包含 ACCESS_TOKEN 和 ACCESS_TOKEN_SECRET。

我为每个键传递了正确的值。

步骤十一:在 sendTweet.py 文件中,使用 Copilot 导入配置文件

我写了一条注释# import the config file 并且接受了 Copilot 的下一行建议。

步骤十二:在 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)

步骤十三:在 sendTweet.py 文件中,写入推文的内容

我写了一条如下的注释:

复制代码
# create a  variable called tweet with a string that says 'I wrote this tweet with Copilot

Copilot 正确的理解了我的注释,所以我接收了初始的建议。

步骤十四:现在,是时候发送推文了

在这一不受,我必须写一个非常具体的注释,我在最初写了一条注释:

复制代码
#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)

步骤十五:打印 response 的值做完整性检查

打印 response 返回值帮助我们了解推文是否发送成功或者为什么失败。

复制代码
print(response)

步骤十六:确认两个文件都包含了所有必须的代码

两个文件的代码片段如下:

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"

步骤十七:运行代码

在我的终端,我运行了命令:python3 sendTweet.py。为了检查是否成功,我前往 Twitter 找到了这条推文。

经验总结

从 Copilot 获得最佳结果的关键是:

  • 写清晰和具体的注释

  • 一旦 Copilot 能够识别代码中的连续模式,就可以利用它

  • 检查 Copilot 提供的替代建议

碎碎念

最近开始学着写 C++ 的代码,亲测在 Copilot 的帮助下,更容易上手写 C++。希望今年剩下的日子,也要继续保持学习的劲头呀!

  • 那些能改变我们一生的道理,都不是别人教会的。

  • 真正的读书,不是翻越纸张,而是被书改变。

  • 我永远喜欢那些优秀又谦逊的人,他们明明拥有着吊打所有人的能力,却毫无优越感,对人温和得像傍晚的风,工作上坚定有主见,与人相处时又温柔自谦。是的,让自己优秀也许是天赋和努力,但能让周围人舒服那就是善良和有同理心,两者兼有,真的太难得了!

参考资料:

相关推荐
老胖闲聊4 小时前
Python Copilot【代码辅助工具】 简介
开发语言·python·copilot
Morpheon6 小时前
Cursor 1.0 版本 GitHub MCP 全面指南:从安装到工作流增强
ide·github·cursor·mcp
LinXunFeng8 小时前
Flutter - GetX Helper 助你规范应用 tag
flutter·github·visual studio code
草梅友仁9 小时前
AI 图片文字翻译与视频字幕翻译工具推荐 | 2025 年第 23 周草梅周报
开源·github·aigc
qianmoQ14 小时前
GitHub 趋势日报 (2025年06月04日)
github
abcnull15 小时前
github中main与master,master无法合并到main
git·github
星哥说事16 小时前
使用VuePress2.X构建个人知识博客,并且用个人域名部署到GitHub Pages中
开源·github
勤劳打代码17 小时前
步步为营 —— Github Connection refused 分层诊断
github
寻月隐君17 小时前
深入解析 Rust 的面向对象编程:特性、实现与设计模式
后端·rust·github
宝桥南山18 小时前
Microsoft Copilot Studio - 尝试一下Agent
microsoft·ai·微软·copilot·rpa·low-code