使用django channels v2为slack bot供电

slack-channeler的Python项目详细描述


松弛通道器

使用django channels v2为slack bot供电

安装

pip install slack-channeler

用法

松弛通道依赖于通道层。首先,确保它是设置好的。channels-redis是推荐的。

# settings.pyCHANNEL_LAYERS={'default':{'BACKEND':'channels_redis.core.RedisChannelLayer','CONFIG':{"hosts":[('localhost',6379)],},},}

创建消费者以处理松弛事件

# consumers.pyfromchannels.consumerimportAsyncConsumer,get_handler_nameclassSlackConsumer(AsyncConsumer):asyncdefdispatch(self,message):handler=getattr(self,get_handler_name(message),None)ifhandler:awaithandler(**message['data'])asyncdefslack_message(self,channel,text,**kwargs):# Simply echo back messageawaitself.channel_layer.send('slack',{'type':'message','channel':channel,'text':text,})

将松弛事件路由到消费者

# routing.pyfromchannels.routingimportProtocolTypeRouter,ChannelNameRouterfrom.consumersimportSlackConsumerapplication=ProtocolTypeRouter({'channel':ChannelNameRouter({'slack':SlackConsumer,}),})

启动通道工作进程以处理通道层的空闲事件

python manage.py runworker slack

最后,运行松弛通道器

SLACK_CHANNELER_TOKEN=xoxb-12345678900-098765432100-DeadBeefFeed90iIJjYsf3ay slack_channeler

建筑包

目前,poetry不支持动态生成版本文件,也不支持自定义挂钩。为了保持版本号的权威源pyproject.toml,使用自定义的build.py脚本动态生成version.py

要构建松弛通道器,请运行python build.py。这与poetry build具有相同的语义。

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

推荐PyPI第三方库


热门话题
java如何动态地为注释提供值?   活动上的java活动结果,并从片段返回   java按泛型元素对对象数组列表进行排序   java下拉菜单不显示(intellij gui编辑器)   在Android studio中使用截取从mysql服务器请求数据   java如何在安卓的另一个类中调用具有视图类型参数的函数   java Android应用程序切换活动   GridLayout的java透明背景   java在两点之间对角遍历2D数组   java Docker类。forName找不到类   HTML格式的javajarapplet   java为子实体生成的更新sql在Onetomany关系中不正确   java处理编码/解码输入   java Intellij 2019重新编译整类问题   使用nimbus的java自定义JButton   java将字符串转换为可读的SimpleDataFormat   java如何将字符串时间戳解析为LocalDateTime