WeChat SDK for Python

Overview
  ___       __   _______   ________  ___  ___  ________  _________  ________  ___    ___
 |\  \     |\  \|\  ___ \ |\   ____\|\  \|\  \|\   __  \|\___   ___\\   __  \|\  \  /  /|
 \ \  \    \ \  \ \   __/|\ \  \___|\ \  \\\  \ \  \|\  \|___ \  \_\ \  \|\  \ \  \/  / /
  \ \  \  __\ \  \ \  \_|/_\ \  \    \ \   __  \ \   __  \   \ \  \ \ \   ____\ \    / /
   \ \  \|\__\_\  \ \  \_|\ \ \  \____\ \  \ \  \ \  \ \  \   \ \  \ \ \  \___|\/  /  /
    \ \____________\ \_______\ \_______\ \__\ \__\ \__\ \__\   \ \__\ \ \__\ __/  / /
     \|____________|\|_______|\|_______|\|__|\|__|\|__|\|__|    \|__|  \|__||\___/ /
                                                                            \|___|/

Financial Contributors on Open Collective GitHub Actions codecov.io Documentation Status PyPI Downloads Reviewed by Hound

微信(WeChat) 公众平台第三方 Python SDK。

v1.x: 【阅读文档】 【快速入门】 master: 【阅读文档】 【快速入门】

功能特性

  1. 普通公众平台被动响应和主动调用 API
  2. 企业微信 API
  3. 微信支付 API
  4. 第三方平台代公众号调用接口 API
  5. 小程序云开发 API

安装

推荐使用 pip 进行安装:

pip install wechatpy

升级版本:

pip install -U wechatpy

使用示例

使用示例参见 examples

贡献代码

请阅读 贡献代码指南

支持项目

如果觉得本项目对您有帮助,请考虑捐赠支持项目开发

问题反馈

我们主要使用 GitHub issues 进行问题追踪和反馈。

QQ 群:176596300

wechatpy QQ 群

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

License

This work is released under the MIT license. A copy of the license is provided in the LICENSE file.

Comments
  • 微信开放平台

    微信开放平台

    作者可以看看有没有可能转成新的方式

    | | 原先方式 | 新方式(登录授权) | | --- | --- | --- | | 公众号是否需要提供appid和appsecret | 需要 | 不需要 | | 公众号是否需要配置服务器url和token | 需要 | 不需要 | | 可接入几个第三方开发服务 | 1个 | 5个(消息与菜单权限集只能授权给一家) |

    https://open.weixin.qq.com/cgi-bin/frame?t=home/wx_plugin_tmpl&lang=zh_CN https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&lang=zh_CN

    help wanted feature 主动调用 
    opened by iblogc 32
  • wechatpy 2.0 的一些想法

    wechatpy 2.0 的一些想法

    wehctapy 已经在我们的项目中用了几个月,确实方便了我们很多。

    但也有些用的别扭的地方。慢慢的也产生了一些想法。希望和你交流一下。

    出现此想法的原因

    • 在项目中使用时,感觉现有些接口比较难用。
    • 接口返回数据是纯 json,而非对象
    • 只支持官方操作
    • 不够对象化
    • 发布时非接口类功能缺失
    • 没有对接 python 常用框架

    改进方向:易用性功能性

    接口返回数据是纯 json,而非对象

    这在项目中还要做各种处理,这种处理放在业务中意义不大,浪费精力,适合放到本库中。提供一下接口会更好: 做法:将微信中的概念变成对象,将接口变成对象的方法,方法返回对象实例。对象实例提供各种数据格式的转化能力。

    follower_manager =   wechat_client.get_manager('fellower')
    # 获取所有关注者
    followers = follower_manager.get()
    # 获取单个关注者
    follower =   wechat_client.fellowers.get(name='nickname')
    # 修改
    follower.nickname = 'another_name'
    follower.sex = ’女'
    follower.save()
    
    shakearound_manager =   wechat_client.get_manager('shakearound')
    page_manager = shakearound_manager.get_manager('page')
    all_pages = page_manager.get()
    page = page_manager.get(page_id)
    new_page = page_manager.add(title, description, url, icon_url, mark='')
    new_page.json()
    new_page.xml()
    

    只支持官方操作

    可以在官方操作的基础上封装常用操作,这样更方便使用

    不够对象化

    wechat_client = WechatClient(app_id, app_secret)
    

    实例化之后,就可以检查wechat_client可调用的对象(底层接口),没有权限时,抛出异常; 所有操作以面向对象的方式使用,屏蔽 http 层。

    发布时非接口类功能缺失

    发布项目时,经常需要额外开发。比如验证 token,开放平台的基本测试等,可以在库中实现。节省调用者开发时间。

    没有对接 python 常用框架

    多数情况下微信对象需要本地保存,如果能对象 django ORM、SqlAlchemy ORM 等数据库模型,会大大增加我们项目的友好度。比如 Django 中

    from wechatpy.decorators import bind_model
    from wechatpy.models import Fellower
    from django.db import models
    
    @bind_model(Fellower)
    class WechatFellower(models.Model):
         name = models.CharField(...)
    

    这样就把 wechatpy 中的模型和 Django 的模型关联了。

    wechat_fellower = WechatFellower.objects.get(name='xxx')
    wechat_fellower.name = 'another_name'
    wechat_fellower.save()
    

    在完成 django 模型功能(保存到数据库)的同时,也完成了和微信接口的交互。

    下面是 wechatpy 2.0 架构: 2015-12-29 13 09 16

    1. 我们可以通过 python 内置的 http 库或者 requests 等第三方库封装对微信 http 接口的调用
    2. 在此基础上,将微信概念对象化,将接口变成这些对象的操作,并可以提供非官方操作。
    3. 提供一种机制(微信对象适配层),可以将这些对象和一些常用 python 库的数据模型关联。

    绿色部分将是新 wechatpy 对外提供的功能。当微信接口变化时,我们修改黄色部分即可。

    这个想法还不够细致。如果你对这个改进方向认可,我们可以就此多想一想​细节。

    enhancement help wanted 
    opened by hunter007 29
  • 企业号我用这代码回调没反应啊

    企业号我用这代码回调没反应啊

    from __future__ import absolute_import, unicode_literals
    from flask import Flask, request, abort, make_response
    from wechatpy.enterprise.crypto import WeChatCrypto
    from wechatpy.exceptions import InvalidSignatureException
    from wechatpy.enterprise.exceptions import InvalidCorpIdException
    from wechatpy.enterprise import parse_message, create_reply
    
    
    TOKEN = '123456'
    EncodingAESKey = ''
    CorpId = ''
    
    app = Flask(__name__)
    
    
    @app.route('/wechat', methods=['GET', 'POST'])
    def wechat():
        signature = request.args.get('msg_signature', '')
        timestamp = request.args.get('timestamp', '')
        nonce = request.args.get('nonce', '')
    
        crypto = WeChatCrypto(TOKEN, EncodingAESKey, CorpId)
        if request.method == 'GET':
            echo_str = request.args.get('echostr', '')
            try:
                echo_str = crypto.check_signature(
                    signature,
                    timestamp,
                    nonce,
                    echo_str
                )
            except InvalidSignatureException:
                abort(403)
            return echo_str
        else:
            try:
                msg = crypto.decrypt_message(
                    request.data,
                    signature,
                    timestamp,
                    nonce
                )
            except (InvalidSignatureException, InvalidCorpIdException):
                abort(403)
            msg = parse_message(msg)
            if msg.type == 'text':
                reply = create_reply(msg.content, msg).render()
            else:
                reply = create_reply('Can not handle this for now', msg).render()
            res = make_response(crypto.encrypt_message(reply, nonce, timestamp))
            res.headers['Content-Type'] = 'application/xml'
            return res
    
    
    if __name__ == '__main__':
        app.run('127.0.0.1', 5001, debug=True)
    
    bug question 
    opened by imcncer 27
  • 第三方平台API问题:component_verify_ticket

    第三方平台API问题:component_verify_ticket

    signature=c542a4b4fd72edd17d42aa7ed579877c925656aa&timestamp=1467073346&nonce=225678664&encrypt_type=aes&msg_signature=c6f76e0bdcfe547bc803f191eae24f2c788fccb2

    收到微信服务器的参数是这些,但是调用接口需要的参数:

    cache_component_verify_ticket(self, msg, signature, timestamp, nonce)
    

    和微信服务器传递过来的参数不符合,另外InfoType还有下面两种情况:

    <InfoType>unauthorized</InfoType>
    
    <InfoType>authorized</InfoType>
    

    来自微信公众平台接口说明 InfoType也有不同的类型,个人感觉需要

    from wechatpy import parse_message
    

    经过类似parse_message的处理,判断不同类型进行不同处理。

    目前接口: 直接调用返回:Error code: -40001, message: Invalid signature

    主动调用 T: 第三方平台 
    opened by zdianjiang 21
  • 微信支付接口无法创建订单

    微信支付接口无法创建订单

    部分代码:

    app_id = 'wxbbxxxxxxxxxxx'
    user_info = session.get('user_info')
    pay=WeChatPay(app_id,'7wH6oUxxxxxxxxxxxxx','133xxxxxxx'')
        try:
            result=pay.order.create('JSAPI',u'U盘A款',5800, 'http://www.abc.com/jsapi_result/',user_info['openid'])
        except Exception as e:
            current_app.logger.debug(e)
    

    每次到pay.order.create都异常,却没捕捉到东西:Error code: None, message: None

    question T: 微信支付 
    opened by openpython 20
  • 关于扫带参二维码返回“该公众号暂时无法提供服务,请稍后再试  ”的疑问

    关于扫带参二维码返回“该公众号暂时无法提供服务,请稍后再试 ”的疑问

    现象描述: 同代码在公众测试平台中扫码后能准确返回ok字段,在实际认证的服务号当中,同样返回ok字段,但是会额外显示“该公众号暂时无法提供服务,请稍后再试 ”的提示。 测试过直接返回空字段,同样有错误提示。

    @app.route('/wechat', methods=['GET', 'POST'])
    def wechat():
        signature = request.args.get('signature', '')
        timestamp = request.args.get('timestamp', '')
        nonce = request.args.get('nonce', '')
        encrypt_type = request.args.get('encrypt_type', 'raw')
        msg_signature = request.args.get('msg_signature', '')
        try:
            check_signature(TOKEN, signature, timestamp, nonce)
        except InvalidSignatureException:
            abort(403)
        if request.method == 'GET':
            echo_str = request.args.get('echostr', '')
            return echo_str
        print request
        # POST request
        if encrypt_type == 'raw':
            # plaintext mode
            msg = parse_message(request.data)
            if msg.type == 'text':
                reply = create_reply(msg.content, msg)
            elif msg.type == 'event':
                if msg.event == 'subscribe_scan' or msg.event == 'scan':
                    reply=create_reply('ok',msg)
                else:
    		 reply = create_reply('ok2', msg)
            else:
                reply = create_reply('ok3', msg)
        else:
            reply = create_reply('ok4', msg)
        return reply.render()
    if __name__ == '__main__':
        app.run('0.0.0.0', 80,debug=True, use_reloader=False)
    
    invalid question 被动响应 
    opened by amiden 19
  • 继承了 WeChatClient,但是 __new__ 并没有正确的执行

    继承了 WeChatClient,但是 __new__ 并没有正确的执行

    Hi, 我继承了 WeChatClient,重写了 init,access_token,fetch_access_token 这三个方法,但是我发现 BaseWeChatClient 的 new 并没有正确的执行,导致 api._client 为 None

    我尝试在继承的类中手动执行 WeChatClient.new 也没有用

    enhancement question 
    opened by cloverstd 17
  • 退款时报错 SSLError

    退款时报错 SSLError

    问题描述 (Description)

    调用退款功能的时候报错

    配置信息 (Environment/Version)

    • OS Mac

    • Python 3.6

    • wechatpy 1.8.13

    报错信息

    Error handling request Traceback (most recent call last): File "/Users/wuyazi/.local/share/virtualenvs/mississippi-uec03K_7/lib/python3.6/site-packages/urllib3/connectionpool.py", line 677, in urlopen chunked=chunked, File "/Users/wuyazi/.local/share/virtualenvs/mississippi-uec03K_7/lib/python3.6/site-packages/urllib3/connectionpool.py", line 381, in _make_request self._validate_conn(conn) File "/Users/wuyazi/.local/share/virtualenvs/mississippi-uec03K_7/lib/python3.6/site-packages/urllib3/connectionpool.py", line 976, in validate_conn conn.connect() File "/Users/wuyazi/.local/share/virtualenvs/mississippi-uec03K_7/lib/python3.6/site-packages/urllib3/connection.py", line 370, in connect ssl_context=context, File "/Users/wuyazi/.local/share/virtualenvs/mississippi-uec03K_7/lib/python3.6/site-packages/urllib3/util/ssl.py", line 365, in ssl_wrap_socket context.load_cert_chain(certfile, keyfile) ssl.SSLError: [SSL] PEM lib (_ssl.c:3401) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/wuyazi/.local/share/virtualenvs/mississippi-uec03K_7/lib/python3.6/site-packages/requests/adapters.py", line 449, in send timeout=timeout File "/Users/wuyazi/.local/share/virtualenvs/mississippi-uec03K_7/lib/python3.6/site-packages/urllib3/connectionpool.py", line 725, in urlopen method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2] File "/Users/wuyazi/.local/share/virtualenvs/mississippi-uec03K_7/lib/python3.6/site-packages/urllib3/util/retry.py", line 439, in increment raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.mch.weixin.qq.com', port=443): Max retries exceeded with url: /secapi/pay/refund (Caused by SSLError(SSLError(336445449, '[SSL] PEM lib (_ssl.c:3401)'),)) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/Users/wuyazi/.local/share/virtualenvs/mississippi-uec03K_7/lib/python3.6/site-packages/aiohttp/web_protocol.py", line 381, in start resp = await self._request_handler(request) File "/Users/wuyazi/.local/share/virtualenvs/mississippi-uec03K_7/lib/python3.6/site-packages/aiohttp/web_app.py", line 310, in _handle resp = await handler(request) File "/Users/wuyazi/.local/share/virtualenvs/mississippi-uec03K_7/lib/python3.6/site-packages/aiohttp/web_middlewares.py", line 88, in impl return await handler(request) File "/Users/wuyazi/italki/mississippi/src/middlewares/error.py", line 11, in middleware_handler response = await handler(request) File "/Users/wuyazi/.local/share/virtualenvs/mississippi-uec03K_7/lib/python3.6/site-packages/aiohttp/web_urldispatcher.py", line 741, in _iter resp = await method() File "/Users/wuyazi/italki/mississippi/src/common/validate.py", line 31, in wrapper return await func(self, *args, **kwargs) File "/Users/wuyazi/italki/mississippi/src/apis/refund.py", line 35, in post fee_type=params.get('fee_type', 'CNY')) File "/Users/wuyazi/.local/share/virtualenvs/mississippi-uec03K_7/lib/python3.6/site-packages/wechatpy/pay/api/refund.py", line 43, in apply return self._post('secapi/pay/refund', data=data) File "/Users/wuyazi/.local/share/virtualenvs/mississippi-uec03K_7/lib/python3.6/site-packages/wechatpy/pay/base.py", line 18, in _post return self._client.post(url, **kwargs) File "/Users/wuyazi/.local/share/virtualenvs/mississippi-uec03K_7/lib/python3.6/site-packages/wechatpy/pay/init.py", line 193, in post **kwargs File "/Users/wuyazi/.local/share/virtualenvs/mississippi-uec03K_7/lib/python3.6/site-packages/wechatpy/pay/init.py", line 138, in _request **kwargs File "/Users/wuyazi/.local/share/virtualenvs/mississippi-uec03K_7/lib/python3.6/site-packages/requests/sessions.py", line 530, in request resp = self.send(prep, **send_kwargs) File "/Users/wuyazi/.local/share/virtualenvs/mississippi-uec03K_7/lib/python3.6/site-packages/requests/sessions.py", line 643, in send r = adapter.send(request, **kwargs) File "/Users/wuyazi/.local/share/virtualenvs/mississippi-uec03K_7/lib/python3.6/site-packages/requests/adapters.py", line 514, in send raise SSLError(e, request=request) requests.exceptions.SSLError: HTTPSConnectionPool(host='api.mch.weixin.qq.com', port=443): Max retries exceeded with url: /secapi/pay/refund (Caused by SSLError(SSLError(336445449, '[SSL] PEM lib (_ssl.c:3401)'),))

    question T: 微信支付 
    opened by wuyazi 14
  • Looking for maintainers

    Looking for maintainers

    You will be given write access to this repository.

    Requirements:

    1. Understand advanced Python techniques (mostly meta-programming).
    2. Understand wechatpy's internal design.
    help wanted 
    opened by messense 14
  • fix json decode

    fix json decode

    我这边有一个用户资料是这样的 {"subscribe":1,"openid":"*","nickname":"monk","sex":1,"language":"zh_CN","city":"Y'Qt","province":"SN¬","country":"","headimgurl":"http:\/\/wx.qlogo.cn\/mmopen\/ajNVdqHZLLBGnfR2C0W8cSLBbkeQASsMaSQsOKPwL9vIGr1Zen9zj9Jwibt06kpicNvH1NU7uWFZQ8rG4CrPD7uA\/0","subscribe_time":1376237570,"unionid":"*","remark":"","groupid":0,"tagid_list":[]}

    其中 province 字段最后一个字符的 unicode 是 172 ,无法正常 decode,需要加 strict 参数。

    image

    代码中其他地方也可能有这种问题。

    enhancement 主动调用 
    opened by faceair 14
  • 图文消息回复时图文个数一直在递增

    图文消息回复时图文个数一直在递增

    if isinstance(message, TextMessage):
                print u'文本消息'
                reply = ArticlesReply(message=message)
                reply.add_article({
                    'title': '猫',
                    'description': '描述文字……',
                    'image': 'http://a.hiphotos.baidu.com/image/w%3D310/sign=595a29f639c79f3d8fe1e2318aa0cdbc/43a7d933c895d1433d2c882a71f082025aaf0764.jpg',
                    'url': 'http://www.baidu.com'
                })
                return HttpResponse(reply, mimetype='application/javascript')
    

    20150514160140435

    bug 被动响应 
    opened by iblogc 14
  • 创建小程序码接口添加是否校验路径和打开的小程序版本参数

    创建小程序码接口添加是否校验路径和打开的小程序版本参数

    check_path :检 查 page 是否存在,为 true 时 page 必须是已经发布的小程序存在的页面(否则报错);为 false 时允许小程序未发布或者 page 不存在, 但 page 有数量上限(60000个)请勿滥用

    env_version : 要打开的小程序版本。正式版为 release,体验版为 trial,开发版为 develop

    opened by PPTing 0
  • 【企业微信】批量获取审批单号 get_approval_info 过滤参数少了s

    【企业微信】批量获取审批单号 get_approval_info 过滤参数少了s

    问题描述 (Description)

    【企业微信】批量获取审批单号 get_approval_info 过滤参数少了s,造成过滤失效 data = optionaldict( {"starttime": str(start_time), "endtime": str(end_time), "cursor": cursor, "size": size, "filter": filters} ) data = optionaldict( {"starttime": str(start_time), "endtime": str(end_time), "cursor": cursor, "size": size, "filters": filters} )

    bug 
    opened by gbguanbo 0
  • 【企业微信】日历/日程 更新返回无id字段导致引起KeyError

    【企业微信】日历/日程 更新返回无id字段导致引起KeyError

    问题描述 (Description)

    【企业微信】客户端调用 日历/日程 更新接口,会因为HTTP响应无id字段导致引起KeyError

    配置信息 (Environment/Version)

    • OS:Linux

    • Python:3.10

    • wechatpy:2.0.0a26

    重现步骤 (Reproducing)

    调用 企业微信客户端的 schedule.update 或 calendar.update 方法

    报错栈

    2022-08-24T03:18:41.222417319Z File "/usr/local/lib/python3.10/site-packages/wechatpy/work/client/api/calendar.py", line 65, in update 2022-08-24T03:18:41.222419103Z return self._post("oa/calendar/update", data=data, result_processor=op.itemgetter("cal_id")) 2022-08-24T03:18:41.222420855Z File "/usr/local/lib/python3.10/site-packages/wechatpy/client/api/base.py", line 18, in _post 2022-08-24T03:18:41.222422599Z return self._client.post(url, **kwargs) 2022-08-24T03:18:41.222424197Z File "/usr/local/lib/python3.10/site-packages/wechatpy/client/base.py", line 142, in post 2022-08-24T03:18:41.222426174Z return self._request(method="post", url_or_endpoint=url, **kwargs) 2022-08-24T03:18:41.222431709Z File "/usr/local/lib/python3.10/site-packages/wechatpy/client/base.py", line 90, in _request 2022-08-24T03:18:41.222433399Z return self._handle_result(res, method, url, result_processor, **kwargs) 2022-08-24T03:18:41.222435054Z File "/usr/local/lib/python3.10/site-packages/wechatpy/client/base.py", line 136, in _handle_result 2022-08-24T03:18:41.222436723Z return result if not result_processor else result_processor(result) 2022-08-24T03:18:41.222438452Z KeyError: 'cal_id'

    bug 
    opened by pppobear 1
Releases(v1.8.14)
Owner
wechatpy
微信开放平台 Python SDK
wechatpy
L3DAS22 challenge supporting API

L3DAS22 challenge supporting API This repository supports the L3DAS22 IEEE ICASSP Grand Challenge and it is aimed at downloading the dataset, pre-proc

L3DAS 38 Dec 25, 2022
Efetuar teste de automação usando linguagem gherkin

🚀 Teste-de-Automação - QA---CI-T 🚀 Descrição • Primeira Parte • Segunda Parte • Terceira Parte Contributors Descrição Efetuamos testes de automação

Eliel martins 6 Dec 07, 2021
The Official Twilio SendGrid Led, Community Driven Python API Library

The default branch name for this repository has been changed to main as of 07/27/2020. This library allows you to quickly and easily use the SendGrid

Twilio SendGrid 1.4k Jan 07, 2023
this is a telegram torrent bot

owner of this repo :- AYUSH contact me :- AYUSH Slam Mirror Bot This is a telegram bot writen in python for mirroring files on the internet to our bel

AYUSH 237 Dec 16, 2021
Monetize your apps with KivAds using Google AdMob api.

KivAds(WIP) Monetize your apps with KivAds using Google AdMob api. KivAds uses the latest version of Google AdMob sdk(version 20.0.0). KivAds exposes

Guhan Sensam 16 Nov 05, 2022
Plazmix API wrapper for Python

An optimised, easy to use Plazmix API wrapper written in Python

Someone 2 Nov 16, 2021
Programa de código abierto para probar el API de Bitso, el exchange más importante de América Latina.

Bitso Semiautomático Programa de código abierto para probar el API de Bitso, el exchange más importante de América Latina. Desarrollador Fernando Mire

Fernando Mireles 17 Dec 07, 2022
A modular Telegram Python bot running on python3 with a sqlalchemy, redis, telethon.

GilbertAnimeBot A modular Telegram Python bot running on python3 with a sqlalchemy, redis, telethon. How to setup/deploy. Read these notes carefully b

Kishore 1 Jan 23, 2022
Powerful Url uploader bot With Mongodb support 🔥

Uploader X Bot Telegram RoBot to Upload Links. Features: 👉 Upload YouTube-dl Supported Links to Telegram. 👉 Upload HTTP/HTTPS as File/Video to Teleg

C͡linton Abraꫝam 250 Jan 06, 2023
💻 Discord-Auto-Translate-Bot - If you type in the chat room, it automatically translates.

💻 Discord-Auto-Translate-Bot - If you type in the chat room, it automatically translates.

LeeSooHyung 2 Jan 20, 2022
Shiny Wechat Pay SDK for Python

WeChat third-party Python SDK master: Read the Documentation Features Common public platforms passively respond and actively call APIs WeChat Pay API

Obrisk 18 Sep 05, 2022
Python binding for Microsoft LightGBM

pyLightGBM: python binding for Microsoft LightGBM Features: Regression, Classification (binary, multi class) Feature importance (clf.feature_importanc

Ardalan 330 Nov 18, 2022
Chatbot construido com o framework Rasa para responder dúvidas referentes ao COVID-19.

Racom Chatbot Chatbot construido com o framework Rasa. Como executar Necessário instalar Docker e Docker Compose. Para inicializar a aplicação, basta

Vinícius Souza 4 Jul 28, 2022
This repository provides a set functions to extract paragraphs from AWS Textract responses.

extract-paragraphs-with-aws-textract Since AWS Textract (the AWS OCR service) does not have a native function to extract paragraphs, this repository p

Juan Anzola 3 Jan 26, 2022
A simple python oriented telegram bot to give out creative font style's

Font-Bot A simple python oriented telegram bot to give out creative font style's REQUIREMENTS tgcrypto pyrogram==1.2.9 Installation Fork this reposito

BL4CK H47 4 Jan 30, 2022
Raid ToolBox (RTB) is a big toolkit of Spamming/Raiding/Token management tools for discord.

This code is very out of date and not very good, feel free to make it into something better. (we check the github page every 5 years to pulls your PRs

2 Oct 03, 2021
Autov2new - Pro Auto Filter Bot V2

Pro Auto Filter Bot V2 Deploy You can deploy this bot anywhere. Watch Deploying

1 Jan 06, 2022
A high level library for building Discord bots.

Qord A high level library for building Discord bots. 🚧 This library is currently in development. Questions that you are having What is this? This is

Izhar Ahmad 16 May 14, 2022
Telegram Client and Bot that use Artificial Intelligence to auto-reply to scammers and waste their time

scamminator Blocking a scammer is not enough. It is time to fight back. Wouldn't be great if there was a tool that uses Artificial Intelligence to rep

Federico Galatolo 6 Nov 12, 2022
Surfline Forecast Bot For Python

Surfline Forecast Bot A telegram bot created using Telethon that allows users to

1 May 08, 2022