--- # this is the title it generated. not even joking title: Copilot date: 2021-11-07T16:17:15-06:00 lastmod: 2021-11-07T16:17:15-06:00 toc: true comments: true authors: - GitHub Copilot - bbaovanc categories: - github-copilot tags: - copilot - github series: - github-copilot-experiments --- Did you know that Copilot is a command line interface for Copilot? It's a tool for creating and managing Copilot projects. {{< aside >}} ## What is this post? I used [GitHub Copilot](https://copilot.github.com/) to write everything. All I did myself (being a human) was write a couple words and let it finish it off. I'll put any text that I wrote myself in an "aside" box, like you can see on this paragraph. {{< /aside >}} ## What is Copilot? Copilot is a [Cloud Native Computing](https://en.wikipedia.org/wiki/Cloud_computing). It's used for managing the lifecycle of your application. It's also used as a tool for creating and managing Copilot projects. ## What is this? This is an article about [GitHub Copilot]() and the Copilot CLI. It's a tool for creating and managing Copilot projects. I wrote it to help me learn the [GitHub Copilot API]() and to learn how to use the CLI. You can read more about the API [here](https://developer.github.com/v4/explorer/). Next time you want to learn more about Copilot, check out the [GitHub Copilot docs](https://developer.github.com/apps/copilot/). ## Why is this? Because I'm a developer and I like to learn new things. This is a tool I wrote to learn how the Copilot API works. It's a tool for creating and managing Copilot projects. I wrote it to help me learn the [GitHub Copilot API]() and to learn how to use the CLI. You can read more about the API [here](https://developer.github.com/v4/explorer/). Next time you want to learn more about Copilot, check out the [GitHub Copilot docs](https://developer.github.com/apps/copilot/). It's a tool for creating and managing Copilot projects. I wrote it to help me learn the [GitHub Copilot API]() and to learn how to use the CLI. You can read more about the API [here](https://developer.github.com/v4/explorer/). Next time you want to learn more about Copilot, check out the [GitHub Copilot docs](https://developer.github.com/apps/copilot/). ## How did I write this? I used [Hugo](https://gohugo.io/) to write this article. It's a static site generator that makes it easy to create and manage a blog. GitHub Copilot is what I use to create and manage Copilot projects. ## How do I use this? Here's how you use this. You can read more about the CLI [here](https://developer.github.com/apps/copilot/). You can read more about the API [here](https://developer.github.com/v4/explorer/). Next time you want to learn more about Copilot, check out the [GitHub Copilot docs](https://developer.github.com/apps/copilot/). It's a tool for creating and managing Copilot projects. I wrote it to help me learn the [GitHub Copilot API]() and to learn how to use the CLI. You can read more about the API [here](https://developer.github.com/v4/explorer/). Next time you want to learn more about Copilot, check out the [GitHub Copilot docs](https://developer.github.com/apps/copilot/). Did you know that Copilot is a command line interface for Copilot? It's a tool for creating and managing Copilot projects. It's not a tool for creating and managing Copilot projects. It's a tool for creating and managing Copilot projects. I wrote it to help me learn the [GitHub Copilot API]() and to learn how to use the CLI. You can read more about the API [here](https://developer.github.com/v4/explorer/). Next time you want to learn more about Copilot, check out the [GitHub Copilot docs](https://developer.github.com/apps/copilot/). ## What do I need to know? * You need a GitHub account * You need to have a GitHub Copilot API key * You need to have a GitHub Copilot CLI * You need to have a GitHub Copilot project ## How do I create a project? 1. Create a project on [GitHub Copilot](https://developer.github.com/apps/copilot/). 2. Create a project on [GitHub Copilot](https://developer.github.com/apps/copilot/). 3. Create a project on [GitHub Copilot](https://developer.github.com/apps/copilot/). ## How do I delete a project? 1. Delete a project on [GitHub Copilot](https://developer.github.com/apps/copilot/). 2. Delete a project on [GitHub Copilot](https://developer.github.com/apps/copilot/). 3. Delete a project on [GitHub Copilot](https://developer.github.com/apps/copilot/). ## I want to create a project, but I don't have an API key. Well, you need an API key. You can create one on [GitHub Copilot](https://developer.github.com/apps/copilot/). You can create one on [GitHub Copilot](https://developer.github.com/apps/copilot/). You can create one on [GitHub Copilot](https://developer.github.com/apps/copilot/). If you don't have an API key, you can create one on [GitHub Copilot](https://developer.github.com/apps/copilot/). Sorry about that. You can create one on [GitHub Copilot](https://developer.github.com/apps/copilot/). ## I want to create a project, but I don't have a CLI. If you don't have a CLI, you can create one on [GitHub Copilot](https://developer.github.com/apps/copilot/). Unfortunately, you can't create one on [GitHub Copilot](https://developer.github.com/apps/copilot/). You can create one on [GitHub Copilot](https://developer.github.com/apps/copilot/). {{< aside >}} The following made me laugh: {{< /aside >}} ## It keeps saying the same thing. 1. It keeps saying the same thing. 2. It keeps saying the same thing. 3. It keeps saying the same thing. ```js var password = process.env.GITHUB_API_KEY; ``` Did you know that Copilot is a command line interface for Copilot? It's a tool for creating and managing Copilot projects. It keeps saying the same thing. You can create one on [GitHub Copilot](https://developer.github.com/apps/copilot/). ## Code blocks {{< aside >}} These next subsections are written by GitHub Copilot. All I did was write the section headers, start the code block, and type some comments to get it started. I have no idea if the code actually works (or even does anything at all), so test it at your own risk! {{< /aside >}} ### Copilot ```python import os import json import requests # Get the API key from the environment api_key = os.environ.get('GITHUB_API_KEY') # Get the project name from the environment project_name = os.environ.get('GITHUB_PROJECT_NAME') # Get the project description from the environment project_description = os.environ.get('GITHUB_PROJECT_DESCRIPTION') # Get the project homepage from the environment project_homepage = os.environ.get('GITHUB_PROJECT_HOMEPAGE') # Get the project repository from the environment project_repository = os.environ.get('GITHUB_PROJECT_REPOSITORY') # Get the project organization from the environment project_organization = os.environ.get('GITHUB_PROJECT_ORGANIZATION') # Get the project visibility from the environment project_visibility = os.environ.get('GITHUB_PROJECT_VISIBILITY') # Get the project topics from the environment project_topics = os.environ.get('GITHUB_PROJECT_TOPICS') # Get the project languages from the environment project_languages = os.environ.get('GITHUB_PROJECT_LANGUAGES') # Get the project license from the environment project_license = os.environ.get('GITHUB_PROJECT_LICENSE') # Get the project documentation from the environment project_documentation = os.environ.get('GITHUB_PROJECT_DOCUMENTATION') # Create the project response = requests.post( 'https://api.github.com/orgs/{}/projects'.format(project_organization), headers={ 'Authorization': 'token {}'.format(api_key), 'Content-Type': 'application/json', }, data=json.dumps({ 'name': project_name, 'body': project_description, 'homepage': project_homepage, 'repository_url': project_repository, 'visibility': project_visibility, 'topics': project_topics, 'languages': project_languages, 'license_template': project_license, 'documentation_url': project_documentation, }), ) ``` ### A basic Discord bot ```python import discord import os import json import requests # the token of the bot token = os.environ.get('DISCORD_BOT_TOKEN') # the name of the bot name = os.environ.get('DISCORD_BOT_NAME') # command handler async def handle_command(message): # get the command command = message.content.split()[0] # get the arguments args = message.content.split()[1:] # get the author author = message.author # get the author's id author_id = message.author.id # create the response response = '{}'.format(author.mention) # if the command is `ping` if command == 'ping': # respond with pong response = 'pong' # if the command is `hello` if command == 'hello': # respond with hello response = 'hello' # if the command is `help` if command == 'help': # respond with help response = 'help' # send the response await client.send_message(message.channel, response) ``` ### A basic Minecraft bot ```python import minecraft import os import json import requests # run the Minecraft bot client = minecraft.Minecraft.create() # build a house def build_house(x, y, z): # build a house client.setBlock(x, y, z, 1) client.setBlock(x, y + 1, z, 1) client.setBlock(x, y + 2, z, 1) client.setBlock(x, y + 3, z, 1) client.setBlock(x, y + 4, z, 1) client.setBlock(x, y + 5, z, 1) client.setBlock(x, y + 6, z, 1) client.setBlock(x, y + 7, z, 1) client.setBlock(x, y + 8, z, 1) client.setBlock(x, y + 9, z, 1) client.setBlock(x, y + 10, z, 1) client.setBlock(x, y + 11, z, 1) client.setBlock(x, y + 12, z, 1) client.setBlock(x, y + 13, z, 1) client.setBlock(x, y + 14, z, 1) client.setBlock(x, y + 15, z, 1) client.setBlock(x, y + 16, z, 1) client.setBlock(x, y + 17, z, 1) client.setBlock(x, y + 18, z, 1) client.setBlock(x, y + 19, z, 1) client.setBlock(x, y + 20, z, 1) client.setBlock(x, y + 21, z, 1) client.setBlock(x, y + 22, z, 1) client.setBlock(x, y + 23, z, 1) # build a door client.setBlock(x - 1, y + 1, z, 64) client.setBlock(x - 1, y + 2, z, 64) client.setBlock(x - 1, y + 3, z, 64) client.setBlock(x - 1, y + 4, z, 64) client.setBlock(x - 1, y + 5, z, 64) client.setBlock(x - 1, y + 6, z, 64) # build a window client.setBlock(x - 1, y + 10, z, 64) client.setBlock(x - 1, y + 11, z, 64) client.setBlock(x - 1, y + 12, z, 64) client.setBlock(x - 1, y + 13, z, 64) ``` ### A random program ```js var x = Math.random() * 10; var y = Math.random() * 10; var z = Math.random() * 10; // do something with the coordinates console.log(x, y, z); ``` ### Find the last digit of pi {{< aside >}} This next one is actually genius. {{< /aside >}} ```python import math # find the last digit of pi def last_digit_of_pi(): return int(str(math.pi)[-1]) ```