摘要:是一個免費的極速的端對端加密數(shù)字貨幣交易系統(tǒng)在本章中,你可以按教程在中創(chuàng)建一個來接收用戶消息學(xué)到如何給機(jī)器人轉(zhuǎn)比特幣或者讓機(jī)器人給你轉(zhuǎn)比特幣資源匯總課程簡介創(chuàng)建一個機(jī)器人創(chuàng)建一個接受消息的機(jī)器人通過本教程,你將學(xué)會如何用創(chuàng)建一個機(jī)器人
Mixin Network 是一個免費的 極速的端對端加密數(shù)字貨幣交易系統(tǒng).
在本章中,你可以按教程在Mixin Messenger中創(chuàng)建一個bot來接收用戶消息, 學(xué)到如何給機(jī)器人轉(zhuǎn)比特幣 或者 讓機(jī)器人給你轉(zhuǎn)比特幣.
Mixin network 資源匯總
課程簡介創(chuàng)建一個機(jī)器人
創(chuàng)建一個接受消息的機(jī)器人通過本教程,你將學(xué)會如何用Ruby創(chuàng)建一個機(jī)器人APP,讓它能接受消息.
Ruby 環(huán)境安裝:本教程的程序基于 Ruby 開發(fā).
On macOS
brew update brew install rbenv rbenv install 2.6.3 rbenv shell 2.6.3
On Ubuntu
sudo apt update sudo apt install git curl libssl-dev libreadline-dev zlib1g-dev autoconf bison build-essential libyaml-dev libreadline-dev libncurses5-dev libffi-dev libgdbm-dev curl -sL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash - echo "export PATH=/root/.rbenv/bin:$PATH" >> ~/.bashrc echo "eval "$(rbenv init -)"" >> ~/.bashrc source ~/.bashrc rbenv install 2.6.3 rbenv shell 2.6.3
檢查安裝情況!
wenewzha:~ wenewzhang$ rbenv shell 2.6.3 wenewzha:minecraft wenewzhang$ ruby -v ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18]安裝依賴包
本教程依賴 faye-websocket 與 mixin_bot.
gem install faye-websocket gem install mixin_bot創(chuàng)建你的項目
到你的工作文檔中,創(chuàng)建一個目錄,并取一個名字,比如:mixin_labs-ruby-bot
mkdir mixin_labs-ruby-bot mixin_labs-ruby-bot創(chuàng)建第一個機(jī)器人APP
按下面的提示,到mixin.one創(chuàng)建一個APPtutorial.
生成相應(yīng)的參數(shù)記下這些生成的參數(shù)
它們將用于config.yml中.
在項目目錄下,創(chuàng)建config.yml,將生成的參數(shù),替換成你的!
config.yml
`> config.yml
MIXIN_CLIENT_ID: "a1ce2967-a534-417d-bf12-c86571e4eefa" MIXIN_CLIENT_SECRET: "a3f52f6c417f24bfdf583ed884c5d0cb489320c58222b061298e4a2d41a1bbd7" MIXIN_DEFAULT_SCOPE: "PROFILE:READ+PHONE:READ+ASSETS:READ" MIXIN_PIN_CODE: "457965" MIXIN_SESSION_ID: "26ed1f52-a3b4-4cc3-840f-469d3f19b10b" MIXIN_PIN_TOKEN: "0t4EG7tJerZYds7N9QS0mlRPCYsEVTQBe9iD1zNBCFN/XO7XEB87ypsCDWfRmDiZ7izzB/nokuMJEu6RJShMHCdIwYISU9xckA/8hIsRVydvoP14G/9kRidMHl/3RPLDMK6U2yCefo2BH0kQdbcRDxpiddqrMc4fYmZo6UddU/A=" MIXIN_PRIVATE_KEY: | -----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQDaSPE8Cu18xzr8MOcgJx8tQnRdlS7c6JVs23497IGdIybIUYmZ 8zvgrFozpGjQYz2ayRDMWUQd/wm7e0Tf7n4bVCmQfkk72usAHX6pNA4HUeTeTmDT sZQKdVx0K84Y3u512cAi5artnUjIsFRPP/LhAX0ujdgNMWIcHrMRh77s1wIDAQAB AoGAVPW3Dwuhy8MvriDKlLUlaVRIPnRmPQ05u5ji1e9Ls4GPAsDZsdX+JEBxC1Ce ix1VSP2hUCgeXx55B0O/VvlYk0pfogrxDgOw2dP04uboMG7tSE4TZK8J9zFPUrE0 wizFmbkgV2OEw33r00FqEhr0KnB9kXOzB5BvKN/FVyXui+ECQQDz1x3hOypW2kM9 uOqjQyg55VDkkXVZ8RgOmVd24MfkDjRauj1oGgLUWvINzhmXN5m84IhlOz1hgEuO enHOpMmDAkEA5SuVeRhBZofUoaRbFxWL4jAN6+uuxFxZ0gCc9l4gwFkQp0RbEw/S tiX9Cl06JR2oc2FBlaO5Vi1u8XfxOSUzHQJBANijfKaJHFrB3A/QZJbcqbaWaEJK gYqBSzBdSHoTx0R04krhQIFm6rCkhH2DaPUSrwJCMqxN74DarUZOvyIrAeUCQH2F ecFx/6BhFZ3Tn/Ds5ElneLiXxonW63uSymZG+DlijzSOxDOUnx0VgZuDpK1fqTxJ MNr9ai5BhFrOD1n1fiECQBafDxsfFQv3w6j5/2PL54DhddGo50FzGxYR1LlttdVI Q04EytqK7grDDS9PsfeXqdUo0D3NMSJ0BYs/kDsqGSc= -----END RSA PRIVATE KEY-----
需要替換的參數(shù)包括: client_id, client_secret, and the pin, pin token, session_id, private key.
經(jīng)典的Hello worldrequire "faye/websocket" require "eventmachine" require "json" require "zlib" require "mixin_bot" require "yaml" yaml_hash = YAML.load_file("./config.yml") MixinBot.client_id = yaml_hash["MIXIN_CLIENT_ID"] MixinBot.session_id = yaml_hash["MIXIN_SESSION_ID"] MixinBot.client_secret = yaml_hash["MIXIN_CLIENT_SECRET"] MixinBot.pin_token = yaml_hash["MIXIN_PIN_TOKEN"] MixinBot.private_key = yaml_hash["MIXIN_PRIVATE_KEY"] access_token = MixinBot.api.access_token("GET","/","") puts access_token authorization = format("Bearer %s", access_token) EM.run { ws = Faye::WebSocket::Client.new("wss://blaze.mixin.one/", ["Mixin-Blaze-1"], :headers => { "Authorization" => authorization } ) ws.on :open do |event| p [:open] ws.send(MixinBot.api.list_pending_message) end ws.on :message do |event| p [:message] data = event.data msg = MixinBot.api.read_message(data) jsmsg = JSON.parse msg # p jsmsg # p jsmsg["data"] if jsmsg["action"] == "CREATE_MESSAGE" && jsmsg["data"] != nil msgid = jsmsg["data"]["message_id"] ws.send(MixinBot.api.acknowledge_message_receipt(msgid)) if jsmsg["data"]["category"] == "PLAIN_TEXT" conversation_id = jsmsg["data"]["conversation_id"] decoded_msg = Base64.decode64 jsmsg["data"]["data"] p decoded_msg reply_msg = MixinBot.api.plain_text_message(conversation_id, decoded_msg) ws.send(reply_msg) end if jsmsg["data"]["category"] == "SYSTEM_ACCOUNT_SNAPSHOT" jsdata = JSON.parse (Base64.decode64(jsmsg["data"]["data"])) p jsdata end end end ws.on :error do |event| p [:error] end ws.on :close do |event| p [:close, event.code, event.reason] ws = nil end }編譯與運行
執(zhí)行 ruby websocket_mixin_bot.rb 程序
ruby websocket_mixin_bot.rb
如果一切正常,顯示如下:
[:open] [:message] {"id"=>"2e13092f-4048-488f-82bc-f5ee9f984002", "action"=>"LIST_PENDING_MESSAGES"}
在手機(jī)安裝 Mixin Messenger,增加機(jī)器人為好友,(比如這個機(jī)器人是7000101639) 然后發(fā)送消息給它,效果如下!
Mixin Messenger支持的消息類型很多,具體可到下面鏈接查看: WebSocket消息類型.
源代碼解釋每接收到一個消息,需要按消息編號(message_id)給服務(wù)器回復(fù)一個"已讀"的消息,避免服務(wù)器在機(jī)器人重新登入后,再次發(fā)送處理過的消息!
ws.send(MixinBot.api.acknowledge_message_receipt(msgid))完成
現(xiàn)在你的機(jī)器人APP運行起來了,你打算如何改造你的機(jī)器人呢?
完整的代碼在這兒
下一課機(jī)器人接收與處理加密貨幣文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/24679.html
摘要:我們已經(jīng)創(chuàng)建過一個回復(fù)消息的機(jī)器人和一個能自動支付比特幣的機(jī)器人通過本教程的學(xué)習(xí),你可以學(xué)到如下內(nèi)容如何創(chuàng)建一個比特幣錢包如何讀取比特幣錢包的余額如何支付比特幣并即時確認(rèn)如何將的比特幣提現(xiàn)到你的冷錢包或第三方交易所前期準(zhǔn)備你要有一個賬戶。 showImg(https://github.com/wenewzhang/mixin_labs-ruby-bot/raw/master/ruby-...
摘要:是一個免費的極速的端對端加密數(shù)字貨幣交易系統(tǒng)官方資源匯總課程簡介創(chuàng)建一個機(jī)器人比特幣開發(fā)教程機(jī)器人接受比特幣并立即退還用戶比特幣開發(fā)教程創(chuàng)建比特幣錢包買賣實時兌換買賣在自由市場掛單買賣買賣任意在自由市場掛單買賣其他編程語言匯總比特幣開發(fā)教程 showImg(https://segmentfault.com/img/remote/1460000019234638?w=1200&h=659...
摘要:比特幣的到帳時間是個區(qū)塊的高度,約分鐘。請注意,比特幣與的地址是一樣的。 showImg(https://segmentfault.com/img/remote/1460000019234638?w=1200&h=659); 方案一: 通過ExinCore API進(jìn)行幣幣交易 Exincore 提供了基于Mixin Network的幣幣交易API. 你可以支付USDT給ExinCore...
摘要:帳號之間的比特幣支付通過,我們可以先轉(zhuǎn)比特幣給機(jī)器人,然后讓機(jī)器人轉(zhuǎn)幣給新用戶。下面的代碼,可以讀取比特幣錢包余額讀取的余額,來確認(rèn)比特幣是不是轉(zhuǎn)成功了注意是新用戶的。 showImg(https://github.com/wenewzhang/mixin_labs-go-bot/raw/master/Bitcoin_go.jpg);我們已經(jīng)創(chuàng)建過一個回復(fù)消息的機(jī)器人和一個能自動支付比...
摘要:方案二掛單交易所是基于的去中心化交易所,它性能一流。完整的步驟如下檢查比特幣或的余額,錢包地址。比特幣的到帳時間是個區(qū)塊的高度,約分鐘。 showImg(https://segmentfault.com/img/remote/1460000019234638?w=1200&h=659);上一章介紹了Exincore,你可以1秒完成資產(chǎn)的市價買賣。如果你想限定價格買賣,或者買賣一些exi...
閱讀 1925·2021-11-24 09:39
閱讀 3514·2021-09-28 09:36
閱讀 3281·2021-09-06 15:10
閱讀 3433·2019-08-30 15:44
閱讀 1153·2019-08-30 15:43
閱讀 1796·2019-08-30 14:20
閱讀 2712·2019-08-30 12:51
閱讀 2030·2019-08-30 11:04