主页 > 官网imtoken安卓版 > 技术指南 | Python收付比特币中文教程(二)

技术指南 | Python收付比特币中文教程(二)

官网imtoken安卓版 2023-12-18 05:07:27

在上一个教程中,我们创建了一个自动回复消息的机器人。 当用户发送消息“Hello, World!”时比特币期货自动交易,机器人会自动回复相同的消息!

第 2 课:机器人接受比特币并立即向用户退款 遵循本教程并完成后,您的机器人将接受用户发送的加密货币并立即将其转回给用户。 完整代码如下:app.py

from mixin_ws_api import MIXIN_WS_API
from mixin_api import MIXIN_API
import mixin_config

import json import time from io import BytesIO import base64 import gzip

try: import thread except ImportError:

sitejinse.com 比特币自动交易软件_比特币期货自动交易_比特币币币交易是什么意思

import _thread as thread

def on_message(ws, message): inbuffer = BytesIO(message)

f = gzip.GzipFile(mode="rb", fileobj=inbuffer) rdata_injson = f.read() rdata_obj = json.loads(rdata_injson) print("-------json object begin---------") print(rdata_obj) print("-------json object end---------") action = rdata_obj["action"]

if rdata_obj["data"] is not None: print("data in message:",rdata_obj["data"])

if rdata_obj["data"] is not None and rdata_obj["data"]["category"] is not None:

比特币期货自动交易_sitejinse.com 比特币自动交易软件_比特币币币交易是什么意思

print(rdata_obj["data"]["category"])

if action == "CREATE_MESSAGE":

data = rdata_obj["data"] msgid = data["message_id"] typeindata = data["type"] categoryindata = data["category"] userId = data["user_id"] conversationId = data["conversation_id"] dataindata = data["data"] created_at = data["created_at"] updated_at = data["updated_at"]

realData = base64.b64decode(dataindata)

MIXIN_WS_API.replayMessage(ws, msgid)

print('userId', userId)

sitejinse.com 比特币自动交易软件_比特币币币交易是什么意思_比特币期货自动交易

print("created_at",created_at)

if categoryindata == "PLAIN_TEXT": realData = realData.decode('utf-8') print("dataindata",realData) MIXIN_WS_API.sendUserText(ws, conversationId, userId, realData) elif categoryindata == "SYSTEM_ACCOUNT_SNAPSHOT": rdJs = json.loads(realData) if ( float(rdJs["amount"]) > 0 ): mixin_api.transferTo(userId, rdJs["asset_id"], rdJs["amount"], "")

if __name__ == "__main__":

mixin_api = MIXIN_API(mixin_config)

mixin_ws = MIXIN_WS_API(on_message=on_message)

mixin_ws.run()

复制代码

你好比特币! 在项目目录下,执行pythonapp.py

比特币币币交易是什么意思_比特币期货自动交易_sitejinse.com 比特币自动交易软件

cd mixin_labs-python-bot
source ./bin/activate
(mixin_labs-python-bot) wenewzha:mixin_labs-python-bot wenewzhang$ python app.py
ws open
-------json object begin---------
{'id': 'fd6ce766-331a-11e9-92a9-20c9d08850cd', 'action': 'LIST_PENDING_MESSAGES'}
-------json object end---------
复制代码

开发者可以通过消息面板将比特币转给机器人,机器人收到比特币后会立即返还给用户!

比特币币币交易是什么意思_比特币期货自动交易_sitejinse.com 比特币自动交易软件

比特币期货自动交易_sitejinse.com 比特币自动交易软件_比特币币币交易是什么意思

事实上,用户可以向机器人发送任何货币比特币期货自动交易,它会立即返回!

比特币期货自动交易_比特币币币交易是什么意思_sitejinse.com 比特币自动交易软件

源码解释

elif categoryindata == "SYSTEM_ACCOUNT_SNAPSHOT":
    rdJs = json.loads(realData)
    if ( float(rdJs["amount"]) > 0 ):
        mixin_api.transferTo(userId, rdJs["asset_id"], rdJs["amount"], "")
复制代码

如果机器人收到硬币,rdJs["amount"] 大于零; 如果机器人向用户支付硬币,收到的信息是一样的,唯一不同的是rdJs["amount"]是一个负数。 最后一步是调用 SDK 的 mixin_api.transferTo 返回币给用户!

高级用法即将推出!