Skip to content

Latest commit

 

History

History
 
 

example

目录

  1. example 00 引言
  2. example 01 Hello, World!
  3. example 02 别把米洒了
  4. example 03 加点辣酱:指令参数
  5. example 04 好看的菜盘:向用户发消息的各种花活
  6. example 05 开点小灶:事件处理

appendix. Dive into khl.py: 设计 khl.py

example 00 引言

首先欢迎大家来使用 khl.py!如果有兴趣的话,也非常欢迎大家来一起开发和维护 khl.py

废话就不多说了,我们先来康康入门的准备工作有哪些:

准备点米:整个机器人

巧妇难为无米之炊,所以首先要做的事儿当然是整个机器人来啦,流程也很简单,只要三部

  1. 准备一个 kaiheila.cn 的账号
  2. 服务器:「开黑啦」开发者内测 申请开发者内测权限
  3. 网页后台:开发者中心 - 应用 创建一个应用,然后点开刚创建好的应用
    • 大家能在左侧的「设置」选项卡列表中看到一项「机器人」,点开它
    • 点开「机器人」选项卡后,就能看到机器人的信息以及「机器人连接模式」、「Token」两项重要选项
      • 「机器人连接模式」请设置为「websocket」,这是一种很好用的连接方式,且本教程前半段都不会讲 webhook
      • 「Token」是机器人的身份凭证,请不要上传到任何地方 / 告诉其他人 / 直接写进代码 / 上传到代码托管平台

准备口锅:搭个机器人的运行环境

巧妇有了,米有了,接下来就是要口锅来装米才行,而给 khl.py 用的「锅」也很好搭,两步即可:

  1. 安装 python,版本号>=3.6.8 即可
    • 为什么是 3.6.8?因为 centos7 能直接通过 epel 安装 python 3.6.8,所以 centos 选手也不需要从源码编译了,直接通过 epel 安装即可,很方便
  2. 运行以下命令来安装 khl.py
pip install khl.py

注意:如果你的机器上同时有多个版本的 python,要注意别装到错误版本的 python 里了

劈劈柴火:稍微了解一下 khl.py

我们下节 example 才会正式开始「做饭」,所以我们这里先简单地说说 khl.py 的特点,就当是准备点柴火和引子,方便大家之后「做起饭来」上手更快:

  1. khl.py 是全异步的 API 框架
    • 异步是个啥?这个问题就不展开说了,大家可以百度/谷歌一下「异步 同步」,两者对照起来学比较快
  2. khl.py 使用 aiohttp 实现网络通信功能
    • 所以你可以直接让机器人用 aiohttp 来访问网站、获取资源,不需要再 import requests
    • aiohttp 也是全异步的网络框架,所以和我们的代码相性非常好
  3. 有时间的话,还可以搜搜「python asyncio」,因为 khl.py 可以很自然地联动 asyncio,来实现一些很炫的东西

写在后面

现在巧妇有了米、有了锅、有了柴火,大家可以准备来写几段了

talk is cheap, show me the code

最开始的话当然还是 hello world 了,example 01 Hello, World!,我们走