不协调webhook的(a)同步包装

dhooks的Python项目详细描述


不和谐的网络挂钩

使用python与不协调的webhook交互。

TravisVersionsPyPiDownloadsLICENSE

这个simple库使您能够轻松地与不协调的webhook交互,允许您轻松地格式化不协调消息和不协调嵌入,检索webhook信息,修改和删除webhook。也支持异步使用。

安装

要安装库,只需使用pipenv(当然是pip)。

pipenv install dhooks

快速启动

发送消息:

fromdhooksimportWebhookhook=Webhook('url')hook.send("Hello there! I'm a webhook :open_mouth:")

不和谐嵌入:

您可以使用此库轻松格式化和发送嵌入。

注意:discord.py中的Embed对象也与此库兼容。

fromdhooksimportWebhook,Embedhook=Webhook('url')embed=Embed(description='This is the **description** of the embed! :smiley:',color=0x1e0f3,timestamp=True# sets the timestamp to current time)image1='https://i.imgur.com/rdm3W9t.png'image2='https://i.imgur.com/f1LOr4q.png'embed.set_author(name='Author Goes Here',icon_url=image1)embed.add_field(name='Test Field',value='Value of the field :open_mouth:')embed.add_field(name='Another Field',value='1234 :smile:')embed.set_footer(text='Here is my footer text',icon_url=image1)embed.set_thumbnail(image1)embed.set_image(image2)hook.send(embeds=embed)

发送文件:

如图所示,您可以轻松地发送文件。

fromdhooksimportWebhook,FilefromioimportBytesIOimportrequestshook=Webhook('url')file=File('path/to/file.png',name='cat.png')# optional name for discordhook.send('Look at this:',file=file)

您还可以传递类似文件的对象:

response=requests.get('https://i.imgur.com/rdm3W9t.png')file=File(BytesIO(response.content),name='wow.png')hook.send('Another one:',file=file)

获取webhook信息:

您可以通过discord的api获得一些与webhook相关的基本信息。

hook.get_info()

以下属性将填充来自discord的数据:

  • hook.guild_id
  • hook.channel_id
  • hook.default_name
  • hook.default_avatar_url

修改和删除webhooks:

您可以轻松更改webhook的默认名称和虚拟形象。

withopen('img.png',rb)asf:img=f.read()# byteshook.modify(name='Bob',avatar=img)hook.delete()# webhook deleted permanently

异步使用:

要使用aiohttp异步发出请求,只需使用Webhook.Async创建对象。一个例子如下。调用api方法时只需使用await关键字。

fromdhooksimportWebhookasyncdefmain():hook=Webhook.Async('url')awaithook.send('hello')awaithook.modify('bob')awaithook.get_info()awaithook.delete()awaithook.close()# close the client session

或者,可以使用async with块(异步上下文管理器)在完成后自动关闭会话。

asyncdefmain():asyncwithWebhook.Async('url')ashook:awaithook.send('hello')

文档

您可以找到完整的api引用here

许可证

这个项目是麻省理工学院授权的。

贡献

请随时为这个项目做贡献,我们永远感激您的帮助。

Join our discord server

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
orm如何在Java中实现规范化映射?   java以编程方式修改Xtext生成的Mwe2工作流   java正在覆盖外部文件中的现有数据,如何停止?   java在ANTLR BNF语法符号中epsilon的等价物是什么?   java如何使用Hibernate@Anyrelated注释?   代码生成生成java类并在运行时加载它   java Maven无法在本地jar文件中收集依赖项   java NetBeans IDE 8.2不显示错误消息   java Selenium web驱动程序找不到元素   java如何修复“拒绝访问属性”invoke“”的权限?   JavaApacheJClouds,从比日期更早的blob中删除blob的最佳方法   java如何比较和排序树集中的项目?   使用JavaSpring和无头/解耦CMS   java使用swagercodegen在不同的类中生成端点   Java外部Keylistener没有响应