最近应一疯狂热爱NIKE的朋友需求,接触了discord开发,利用discord bot实现了很多有意思的事情。

1.Discord是什么?

Discord 是一款适用于游戏玩家一体化语音和文字聊天的即时通信(IM)软件。 目前 Discord 已经覆盖 Windows、MacOS、Android、iOS、Windows Phone等多种主流平台。 可以称之为支持 Linux 的 YY 语音,其以简洁的界面、强大的功能、与主流游戏平台的无缝结合,获得了国外众多游戏玩家的青睐,成为游戏玩家游戏中沟通协作的首选工具。当然了除了游戏语音Discord也会有其他的多种多样类目的服务器可以满足你的需求,同时对于开发者也非常友好,提供了大量的官方API让开发者可以在discord平台创造出很多有趣的Toys而或Tools,本篇文章就是基于Discord的官方API来讲解一下Dsicord的quick开发。

2.开发环境

windows/python3.7/PyCharm/discord.py

3.创建应用

在https://discord.com/developers/applications,登录账号创建你的应用

创建应用后,添加一个bot

新增Bot之后,可以获得我们Bot的token,千万不能泄露给别人!如果泄露给别人请点击Regenerate重新生成。

在Bot页面下拉可以进行选择不同的权限选项来计算permissions integer

在OAuth2菜单下给我们的bot赋权

Cpoy下来的URL复制到浏览器打开,选择我们具有管理权限的服务器,对我们的bot进行赋权

到目前我们的一个Discord bot就创建成功了,下面我们就对我们的Bot进行编程,让他更加有趣~

4.Bot编程

discord官方对于开发者极其友好,提供了支持python、java、nodjs等语言开源的SDK,鉴于python更适合作为脚本语言,且python SDK已经支持官方v8API,但是discord4j目前仅支持至v6版本的API,故选用了python对我们的bot进行编程。注:discord提供各种语言的SDK在github上都有相应的开源项目。

discord.py

现在我们要安装 discord.py 库

py -3 -m pip install -U discord.py

检查您正在使用的 discord.py 版本

>>> import discord
>>> discord.__version__
'1.0.0a'

Quick Example

import discordclass MyClient(discord.Client):async def on_ready(self):print('Logged on as', self.user)async def on_message(self, message):# don't respond to ourselvesif message.author == self.user:returnif message.content == 'ping':await message.channel.send('Cja ~~ pong')client = MyClient()
client.run('token')

这是一个简单的Example bot其中on_message()是bot的event事件所触发的,当bot监听到消息时会触发这个方法,我们可以把message转发到任意的channel,也可以通过分析我们监控到的message来对其作出不同的Response~

当然了这只是一个简单的Example,更多有趣的API可以参考discord.py的官方API文档:https://discordpy.readthedocs.io/en/latest/

鉴于部分代码的商业价值目前discord bot的高级开发暂时没有发布在我的github中,如有学习兴趣可以在下方留言或私信

利用discord创建一个自己的discord bot机器人相关推荐

  1. Linux Namespace系列(09):利用Namespace创建一个简单可用的容器

    本文将演示如何利用namespace创建一个完整的容器,并在里面运行busybox.如果对namespace不是很熟悉,请先参考前面几遍介绍不同类型namespace的文章. busybox是一个Li ...

  2. 利用thinkphp创建一个简单的站点

    本文我们将利用thinkphp创建一个简单的站点,这里所使用的thinkphp版本是5.0.24,这里是它的中文文档.如果有需要可以参考它的中文文档. thinkphp框架是一个典型的MVC框架,该框 ...

  3. 利用GLFW创建一个窗口

    利用GLFW创建一个窗口 创建窗口前的准备工作 GLFW初始化 设置界面属性 界面相关属性 缓冲区相关属性 上下文相关属性 各个属性的默认值和取值范围 创建窗口 显示窗口 完整代码 窗口事件交互 完整 ...

  4. 利用记事本创建一个ASP.NET Core RC2 MVC应用

    步骤一.安装最新的.NET Core SDK 我们可以根据自身的操作系统环境从https://github.com/dotnet/cli上下载.NET Core最新的SDK,这个SDK包含.NET C ...

  5. 如何利用MYSQL创建一个表格

    1.打开MYSQL,如下. 2.首先必须在一个数据库里面工作,所以你必须创建一个数据库.利用create database +(数据库名称),来出创建数据库. 3.创建好了必须使用它,利用 use + ...

  6. 利用Expandable创建一个可以扩展的列表

    我们可以通过利用Ubuntu.Components.ListItems 中的Expandable来创建一个可以扩展的List列表.在有些列表应用中这个是非常有用的.它可以让我们展示更多的内容.在先前的 ...

  7. 利用MySQL创建一个简单的employee员工表并修改表

    -- 使用day14数据库 USE day14;-- 查看表 SHOW TABLES;-- 创建一个员工表 CREATE TABLE employee(id INT,NAME VARCHAR(20), ...

  8. 利用python创建一个新本地文件

    path='C:/'+name+'.txt' message='Hello world!' file = open(path,'w')其中'w'参数表示为写入模式,意思是:如果没有就在该路径创建一个有 ...

  9. 利用photoshop创建一个3D绚丽的文…

    本photoshop教程转载于10steps.sg,by Johnson Koh on 11-11-2008,(原创翻译,转载请注明出处,标注链接,多谢) 简介:我们将会运用到illustrate的3 ...

最新文章

  1. Android短信管家视频播放器代码备份
  2. 智源出品 | 超大规模智能模型产业发展报告(附下载)
  3. python 调用linux命令-四种执行python系统命令的方法
  4. java的发展_java的发展
  5. 几种简单的素数判定法(转)
  6. #linux# su命令细节错误
  7. .net core实践系列之短信服务-为什么选择.net core(开篇)
  8. 2015已经过去三分之一了
  9. java 是否继续_Java异常被抛出或被捕获之后,代码是否继续执行的问题
  10. 日本「AI 鱼脸识别」项目,每分钟识别 100 条,有望让渔民不再“摸鱼”
  11. perl中的sleep函数
  12. Kubernetes学习笔记(一):Kubernetes-1.7.x 创建TLS证书和秘钥
  13. pcie数据反_PCIe事务层の详解(一)
  14. NGSL + NAWL 单词表 以及学习网站
  15. 【SSM】SSM框架介绍
  16. HTML页面基本结构介绍
  17. 关于共享自习室查询座位空闲状态的算法笔记
  18. python表达爱意_程序员有哪些对女友表达爱意的奇招?
  19. vue krpano 视角监听
  20. python将房贷数据写进excel表格

热门文章

  1. c 程序设计语言标准库,C++程序设计语言(第4部分:标准库)(原书第4版) 中文pdf扫描版[86MB]...
  2. 关于魔兽T人和延迟的恶劣挂原理及实现
  3. 浙大MBA考研经验分享:名校梦不可负~
  4. 安装SQL Server 2000时“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机”错误的排除
  5. 解决SQLyog连接mysql报错:Your password has expired
  6. NOI Online 2020 Round3 滚粗记
  7. 有哪些情人节 情人节大全
  8. 微信计算机内存是32位吗?,windows7旗舰版32位和64位的区别是什么
  9. 计算机学院2022级新生邀请赛(二)
  10. 排查https请求出现received fatal alert: internal_error的问题