<center> ![supbot banner](https://cdn.steemitimages.com/DQmVfVL98g7QbEyb4t4bt5A9DuMZLBYpiekwceBswjSUqTJ/small%20banner.jpg) </center> It has been 3 months since the last development update, as I was pretty busy with other projects and making [video tutorials](https://www.youtube.com/playlist?list=PLdeajH45r2EKfD4lB6LJW6jF66PLSFGFa) for this one and also I was looking for a big update change [(Commit3)](https://github.com/adsau59/supbot/commit/5115e25e31dbf1613f25ac724a57bba7bf2d65b6) for the update blog. I have included the previous two commits too as those commit happened after the previous development update. ### Repository https://github.com/adsau59/supbot [Commit1](https://github.com/adsau59/supbot/commit/bc05040dd21ed9fa04cfd0d3fcbccbbefb020538) [Commit2](https://github.com/adsau59/supbot/commit/ad504e9416ef61979ef1f743fc9271c05280f328) [Commit3](https://github.com/adsau59/supbot/commit/5115e25e31dbf1613f25ac724a57bba7bf2d65b6) ### What is Supbot API? Supbot API is a Whatsapp Group Chatbot API, [Showcase video](https://www.youtube.com/watch?v=MWCjVzM0rW8). Whatsapp is the most used messenger platform, but the lack of bot support made it very tedious to perform some operations that other platform with bot support performs easily. Supbot API uses Selenium to automate Whatsapp Web to read and collect data, runs business logic and perform different actions defined by the developer, it provides various features to developers to create their own features and add it inside Whatsapp itself. ### Objective - To create bot support on the most used messenger platform out there. - To create a way for developers to make their own features inside whatsapp itself. - To teach developers how to use Supbot API using [video tutorials](https://www.youtube.com/playlist?list=PLdeajH45r2EKfD4lB6LJW6jF66PLSFGFa). ### Technology Stack Supbot is made using - [Java Development Kit 8](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) - [Selenium](https://www.seleniumhq.org/) - [JDBC](http://www.oracle.com/technetwork/java/javase/jdbc/index.html), [google-gson](https://github.com/google/gson), [Apache HttpComponents](https://hc.apache.org/) ### Bug Fixes Bot taps the wrong chat if it shifts up or down due to new messages in other group > > Cause? >- the webview of chatgroup list item was cached which swapped when a listitem shifts up and down to different group during execution. > > Fix? >- find the webview everytime it is needed (removed cached webview for chatgroup listitem) CheckerThread crashes when a group without `Strings.groupTitlePrefix`(";;") gets a message > > Cause? >- Group title name was split by `Strings.groupTitlePrefix`(";;") and the 2nd item in the array is checked as the groupid, if the group doesnt have groupTitlePrefix it would give IndexOutOfBoundExeption > > Fix? >- After splitting, check if the list have more than 2 elements, before using the 2nd item, to search for groupid Bot crashes when a message with just an emojie is sent > > Cause? >- CheckerThread crashes when it tries to find text in the Bubble when there is none. > > Fix? >- Added exception handling when bubble doesn't contain any text. Blob in ScheduleDatase gets currupted when UpdateSchedule was used > > Cause? >- object name was being saved instead of bytes of serialized object > > Fix? >- Store Serialized schedule object in the blob as bytes instead of its name. ### XPaths Updates Whatsapp Web keeps on updating from time to time, which breaks the bot, hence XPaths have to be updated when it changes. Updated XPaths include: - inputText - newChatGroup - bubbleToAuthorName ### New Features Added way to tag people with phone number > > Why? >- Supbot reads the phone number of client to create unique id, which is then used to refer them too >- As people usually don't recognize the person using their phone number, it wasn't a good design to refer them using their phone number >- So, tagging could be used to refer the client in text > > How? >- To use this feature, `SendMessageAction.tagPhoneNumbers()` should be used when `SendMessageAction` is created to enable this feature, `tagPhoneNumbers()` takes a regex pattern string as a parameter so that it can be used to recognize if any phone number is there in the text. >- when a phone number is found, it is converted into a tag, by placing `@` symbol before the number and `UP+ENTER` keystrokes after the number, to convert it into a tag. >- This feature is kept as an experimental feature as it hasn't been tested much. Added way to send arguments with space using quotes in ConsoleCommands > > Why? >- There was a need to pass arguments with space like phone number in `+xx xxxxx xxxxx` format in the console. > > How? >- Regex patter matcher was used to find quotes, and the part inside the quotes was taken as a single parameter, and the parts outside the quotes were taken as multiple parameters separated with spaces. Created `ScheduleTaskInitializer` > > Why? >- `ScheduleTaskInitializer` helps convert arguments (array of strings) into ScheduleTask object. >- It is used by `ScheduleCreateCC` to create schedules using console commands, rather than inside code manually. > > How? >- First, class object of the class derived from the `ScheduleTask` class has to be added into the `ScheduleTaskInitializer.scheduleTasks` List. >- Then when a `ScheduleTask` object is needed, `ScheduleTaskInitalizer.getSceduleTask()` method is called with the string arguments. >- First argument is the name of the class, which is then used to get its constructor and the data types of the parameter in it. >- Then each of the string from 2nd one is parsed into the respected data type. >- Converting primitives like int, float, bool, etc.. is pretty straight forward, its just have to be parsed from string to their respective types, but parsing custom classes like ChatGroup requires it to have `public static Object castFromString(String s);` method in it which is then used to convert the string into its object. >- then these objects are used to create the ScheduleTask which is then returned in an `out` object along with `ScheduleTaskinitalizer.Response` enum which contains the response (whether it was success or which error it encountered) Created `ScheduleCreateCC` console command > > Why? >- `ScheduleCreateCC` initializes schedule using Console Command, >- In previous version, it was needed to initialize a Schedule for the first time, after which it is stored in the database and loaded automatically when executed next time. >- So the initialization code had to be manually written and executed once, then deleted as that part of code is no longer needed. >- This made developing Schedule very tedious, hence a way was needed to initialize schedule using console commands > > How? >- `ScheduleCreateCC` extends `ConsoleCommand` which enables it to execute a block of code when a command is entered along with its arguments. >- The string arguments are parsed into the datatypes needed to create a Schedule, >- `ScheduleTaskInitalizer` is used to converted array of string arguments into `ScheduleTask` object which is needed to create a Schedule. Created `ScheduleDBDeleteCC` console command > > Why? >- Once a Schedule is created, it is serialized and stored in the database in case the bot shut downs and is executed again, >- But when the `ScheduleTask` class is changed, the serialized schedule object no longer can be loaded. >- Hence a quick way was needed to delete the target schedule from the database > >How? >- `ScheduleDBDeleteCC` extends `ConsoleCommand` which enables it to execute a block of code when a command is entered along with its arguments. >- The command takes 1 arugment which is the name of the schedule it is saved by, then it calls `Bot.getScheduleManager().dbDelete(name)` which calls `ScheduleDatabase.DeleteSchedule(name)` #### Changes Made `Schedule.nextSchedule()` method public > > Why? >- When a Schedule is missed, `ScheduleTask.taskMissed()` method is ran, which is defined by the developer using the API. >- It is upon that developer to re schedule the task if it is missed, which become very tedious to do if they just want to re schedule it with respect to current time. Changed name of `RemoteActionCall` to `StringActionInitializer` > > Why? >- `RemoteActionCall` class name didn't had the correct intuition of the content of the class, so `StringActionInitializer` name was better fitting for it. Made `ScheduleManager.notifyUpdate()` public > > Why? >- It was required for the developers using the API to update the database once they changed some variable in schedule or schedule task. >- Hence, making `notifyUpdate()` method public, made it possible to do so. ### Roadmap Development for Supbot API has finished (Since 3 months), but as developers using the API request new features or some bad design in the bot is noticed, I will try my best to add/change it in the bot. ### How to contribute? You can contribute this project by, - Using the the API and creating issue when any bug is encountered. - Helping me in the development by bug squashing or developing new features. (If you want to do this, contact me so that we can collaborate.) - Let me know if you have any good feature ideas. ### Contact If you have any problems or you want to contact me for feature ideas or want to collaborate in development you can contact me on [DefineX Community discord server](https://discord.gg/V6e2fpc) ### GitHub Account https://github.com/adsau59
post_id | 60,065,199 |
---|---|
author | adam-saudagar |
permlink | supbot-api-or-whatsapp-group-chatbot-api-or-developement-update-2 |
category | utopian-io |
json_metadata | {"tags":["utopian-io","development","whatsapp","java","selenium"],"image":["https:\/\/cdn.steemitimages.com\/DQmVfVL98g7QbEyb4t4bt5A9DuMZLBYpiekwceBswjSUqTJ\/small%20banner.jpg"],"app":"steemit\/0.1","format":"markdown","links":["https:\/\/www.youtube.com\/playlist?list=PLdeajH45r2EKfD4lB6LJW6jF66PLSFGFa","https:\/\/github.com\/adsau59\/supbot\/commit\/5115e25e31dbf1613f25ac724a57bba7bf2d65b6","https:\/\/github.com\/adsau59\/supbot","https:\/\/github.com\/adsau59\/supbot\/commit\/bc05040dd21ed9fa04cfd0d3fcbccbbefb020538","https:\/\/github.com\/adsau59\/supbot\/commit\/ad504e9416ef61979ef1f743fc9271c05280f328","https:\/\/www.youtube.com\/watch?v=MWCjVzM0rW8","http:\/\/www.oracle.com\/technetwork\/java\/javase\/downloads\/jdk8-downloads-2133151.html","https:\/\/www.seleniumhq.org\/","http:\/\/www.oracle.com\/technetwork\/java\/javase\/jdbc\/index.html","https:\/\/github.com\/google\/gson","https:\/\/hc.apache.org\/","https:\/\/discord.gg\/V6e2fpc","https:\/\/github.com\/adsau59"]} |
created | 2018-08-18 13:38:42 |
last_update | 2018-08-19 09:04:15 |
depth | 0 |
children | 8 |
net_rshares | 26,764,690,446,680 |
last_payout | 2018-08-25 13:38:42 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 26.757 SBD |
curator_payout_value | 8.735 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 9,550 |
author_reputation | 4,774,071,168,640 |
root_title | "Supbot API | Whatsapp Group Chatbot API | Developement update #2" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
cmp2020 | 0 | 8,780,836,223 | 15% | ||
cub1 | 0 | 29,549,016,754 | 15% | ||
miniature-tiger | 0 | 102,895,543,371 | 100% | ||
jga | 0 | 2,817,521,887 | 8.5% | ||
sensation | 0 | 252,306,781 | 100% | ||
doughtaker | 0 | 9,408,769,042 | 50% | ||
rafalski | 0 | 24,550,206,959 | 51% | ||
dreamarif | 0 | 107,438,361 | 12% | ||
leir | 0 | 1,890,238,348 | 50% | ||
utopian-io | 0 | 24,293,984,884,891 | 15.95% | ||
jaff8 | 0 | 89,612,861,996 | 100% | ||
steemtaker | 0 | 4,127,964,863 | 12% | ||
amosbastian | 0 | 20,081,396,746 | 28.99% | ||
tdre | 0 | 5,412,373,949 | 100% | ||
jjay | 0 | 854,401,658 | 100% | ||
holger80 | 0 | 129,316,511,313 | 49% | ||
movement19 | 0 | 3,957,704,624 | 17% | ||
reazuliqbal | 0 | 27,574,132,115 | 100% | ||
adam-saudagar | 0 | 4,674,553,543 | 100% | ||
statsexpert | 0 | 3,427,730,067 | 60% | ||
trufflepig | 0 | 17,317,595,616 | 34% | ||
shookriya | 0 | 601,207,621 | 6.8% | ||
tanzil2020 | 0 | 170,153,915 | 50% | ||
mightypanda | 0 | 19,340,006,470 | 100% | ||
truthly | 0 | 91,823,080 | 100% | ||
lecongdoo3 | 0 | 4,119,430,554 | 100% | ||
boomtube | 0 | 582,292,629 | 100% | ||
avengersayem2 | 0 | 504,978,465 | 100% | ||
gamerbd | 0 | 506,845,940 | 100% | ||
steem-ua | 0 | 1,934,585,496,830 | 82.5% | ||
jsmino | 0 | 298,165,238 | 100% | ||
milky-concrete | 0 | 23,296,056,831 | 100% |
You have a minor misspelling in the following sentence: <blockquote> Regex patter matcher was used to find quotes, and the part inside the quotes was taken as a single parameter, and the parts outside the quotes were taken as multiple parameters seperated with spaces.</blockquote> It should be <i>separated</i> instead of <i>seperated</i>.
post_id | 60,065,206 |
---|---|
author | grammarnazi |
permlink | re-adam-saudagar-supbot-api-or-whatsapp-group-chatbot-api-or-developement-update-2-20180818t133829763z |
category | utopian-io |
json_metadata | {"app":"steemit"} |
created | 2018-08-18 13:38:48 |
last_update | 2018-08-18 13:38:48 |
depth | 1 |
children | 1 |
net_rshares | 7,314,602,286 |
last_payout | 2018-08-25 13:38:48 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 340 |
author_reputation | -144,174,644,390 |
root_title | "Supbot API | Whatsapp Group Chatbot API | Developement update #2" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
adam-saudagar | 0 | 4,581,062,472 | 100% | ||
steemian-bank | 0 | 2,733,539,814 | 100% |
lol, good bot here have a treat π
post_id | 60,065,607 |
---|---|
author | adam-saudagar |
permlink | re-grammarnazi-re-adam-saudagar-supbot-api-or-whatsapp-group-chatbot-api-or-developement-update-2-20180818t134359550z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"app":"steemit\/0.1"} |
created | 2018-08-18 13:44:00 |
last_update | 2018-08-18 13:44:00 |
depth | 2 |
children | 0 |
net_rshares | 4,557,689,705 |
last_payout | 2018-08-25 13:44:00 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 33 |
author_reputation | 4,774,071,168,640 |
root_title | "Supbot API | Whatsapp Group Chatbot API | Developement update #2" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
adam-saudagar | 0 | 4,557,689,705 | 100% |
Hi @adam-saudagar, it seems an interesting project to me though I do not know Java. If you make small meaningful commits it makes it easier for a moderator to check your work and give better scores. I saw that your commit has a description of what you have added or updated. Its better to use pull request and merge for better organization of commits. Here is a [guide](https://steemit.com/utopian-io/@gregory.latinier/how-to-achieve-the-highest-score-for-a-better-utopian-reward-for-the-development-contributions) by a @utopian-io moderator to score high at development contributions.
post_id | 60,071,634 |
---|---|
author | reazuliqbal |
permlink | re-adam-saudagar-supbot-api-or-whatsapp-group-chatbot-api-or-developement-update-2-20180818t150340227z |
category | utopian-io |
json_metadata | {"tags":["utopian-io"],"links":["https:\/\/steemit.com\/utopian-io\/@gregory.latinier\/how-to-achieve-the-highest-score-for-a-better-utopian-reward-for-the-development-contributions"],"users":["adam-saudagar","utopian-io"],"app":"steemit\/0.1"} |
created | 2018-08-18 15:03:42 |
last_update | 2018-08-18 15:03:42 |
depth | 1 |
children | 0 |
net_rshares | 25,869,020,428 |
last_payout | 2018-08-25 15:03:42 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.028 SBD |
curator_payout_value | 0.006 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 587 |
author_reputation | 53,978,675,295,884 |
root_title | "Supbot API | Whatsapp Group Chatbot API | Developement update #2" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
azizbd | 0 | 1,151,696,015 | 1% | ||
adam-saudagar | 0 | 4,581,062,472 | 100% | ||
dustsweeper | 0 | 20,136,261,941 | 2.25% |
Thank you for your contribution. As @reazuliqbal already mentioned it is better to create a pull request and write all the updates in that instead of writing in the commit messages. Also just to be clear that according to our guidelines we only take into consideration new features or enhancements and not bug fixes i.e. "Bug Fixes for contributorβs Own Projects will not be considered for potential reward, unless the Bugs were caused by third party dependencies." I really like the way you have written the description of the class files, good work. Your contribution has been evaluated according to [Utopian policies and guidelines](https://join.utopian.io/guidelines), as well as a predefined set of questions pertaining to the category. To view those questions and the relevant answers related to your post, [click here](https://review.utopian.io/result/3/2332211). ---- Need help? Write a ticket on https://support.utopian.io/. Chat with us on [Discord](https://discord.gg/uTyJkNm). [[utopian-moderator]](https://join.utopian.io/)
post_id | 60,141,602 |
---|---|
author | codingdefined |
permlink | re-adam-saudagar-supbot-api-or-whatsapp-group-chatbot-api-or-developement-update-2-20180819t111846678z |
category | utopian-io |
json_metadata | {"links":["https:\/\/join.utopian.io\/guidelines","https:\/\/review.utopian.io\/result\/3\/2332211","https:\/\/support.utopian.io\/","https:\/\/discord.gg\/uTyJkNm","https:\/\/join.utopian.io\/"],"app":"steemit\/0.1","tags":["utopian-io"],"users":["reazuliqbal"]} |
created | 2018-08-19 11:19:33 |
last_update | 2018-08-19 11:19:33 |
depth | 1 |
children | 1 |
net_rshares | 7,628,059,567,626 |
last_payout | 2018-08-26 11:19:33 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 7.688 SBD |
curator_payout_value | 2.519 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 1,045 |
author_reputation | 71,157,752,447,147 |
root_title | "Supbot API | Whatsapp Group Chatbot API | Developement update #2" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
azizbd | 0 | 1,151,696,015 | 1% | ||
mys | 0 | 10,132,723,441 | 10.17% | ||
pixelfan | 0 | 14,897,610,730 | 9% | ||
espoem | 0 | 16,050,013,546 | 15% | ||
utopian-io | 0 | 7,574,215,388,250 | 10.6% | ||
steemtaker | 0 | 458,671,266 | 1% | ||
amosbastian | 0 | 6,232,157,610 | 8.79% | ||
adam-saudagar | 0 | 4,581,578,592 | 100% | ||
mops2e | 0 | 339,728,176 | 10% |
Thank you for your review, @codingdefined! So far this week you've reviewed 8 contributions. Keep up the good work!
post_id | 60,336,900 |
---|---|
author | utopian-io |
permlink | re-re-adam-saudagar-supbot-api-or-whatsapp-group-chatbot-api-or-developement-update-2-20180819t111846678z-20180821t122509z |
category | utopian-io |
json_metadata | {"app":"beem\/0.19.42"} |
created | 2018-08-21 12:25:12 |
last_update | 2018-08-21 12:25:12 |
depth | 2 |
children | 0 |
net_rshares | 16,419,921,927 |
last_payout | 2018-08-28 12:25:12 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.018 SBD |
curator_payout_value | 0.004 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 116 |
author_reputation | 152,913,012,544,965 |
root_title | "Supbot API | Whatsapp Group Chatbot API | Developement update #2" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
espoem | 0 | 16,080,193,751 | 15% | ||
mops2e | 0 | 339,728,176 | 10% |
Hi @adam-saudagar! We are @steem-ua, a new Steem dApp, computing UserAuthority for all accounts on Steem. We are currently in test modus upvoting quality Utopian-io contributions! Nice work!
post_id | 60,142,225 |
---|---|
author | steem-ua |
permlink | re-supbot-api-or-whatsapp-group-chatbot-api-or-developement-update-2-20180819t112930z |
category | utopian-io |
json_metadata | {"app":"beem\/0.19.54"} |
created | 2018-08-19 11:29:30 |
last_update | 2018-08-19 11:29:30 |
depth | 1 |
children | 0 |
net_rshares | 4,675,080,196 |
last_payout | 2018-08-26 11:29:30 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 190 |
author_reputation | 23,203,609,903,979 |
root_title | "Supbot API | Whatsapp Group Chatbot API | Developement update #2" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
adam-saudagar | 0 | 4,675,080,196 | 100% |
**Congratulations!** Your post has been selected as a daily Steemit truffle! It is listed on **rank 3** of all contributions awarded today. You can find the [TOP DAILY TRUFFLE PICKS HERE.](https://steemit.com/@trufflepig/daily-truffle-picks-2018-08-19) I upvoted your contribution because to my mind your post is at least **18 SBD** worth and should receive **123 votes**. It's now up to the lovely Steemit community to make this come true. I am `TrufflePig`, an Artificial Intelligence Bot that helps minnows and content curators using Machine Learning. If you are curious how I select content, [you can find an explanation here!](https://steemit.com/steemit/@trufflepig/weekly-truffle-updates-2018-33) Have a nice day and sincerely yours, ![trufflepig](https://raw.githubusercontent.com/SmokinCaterpillar/TrufflePig/master/img/trufflepig17_small.png) *`TrufflePig`*
post_id | 60,166,122 |
---|---|
author | trufflepig |
permlink | re-supbot-api-or-whatsapp-group-chatbot-api-or-developement-update-2-20180819t164903 |
category | utopian-io |
json_metadata | {} |
created | 2018-08-19 16:49:03 |
last_update | 2018-08-19 16:49:03 |
depth | 1 |
children | 0 |
net_rshares | 4,675,080,196 |
last_payout | 2018-08-26 16:49:03 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 884 |
author_reputation | 37,535,693,521,838 |
root_title | "Supbot API | Whatsapp Group Chatbot API | Developement update #2" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |
author_curate_reward | "" |
voter | weight | wgt% | rshares | pct | time |
---|---|---|---|---|---|
adam-saudagar | 0 | 4,675,080,196 | 100% |
Hey @adam-saudagar **Thanks for contributing on Utopian**. Weβre already looking forward to your next contribution! **Want to chat? Join us on Discord https://discord.gg/h52nFrV.** <a href='https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1'>Vote for Utopian Witness!</a>
post_id | 60,263,564 |
---|---|
author | utopian-io |
permlink | re-supbot-api-or-whatsapp-group-chatbot-api-or-developement-update-2-20180820t171032z |
category | utopian-io |
json_metadata | {"app":"beem\/0.19.42"} |
created | 2018-08-20 17:10:33 |
last_update | 2018-08-20 17:10:33 |
depth | 1 |
children | 0 |
net_rshares | 0 |
last_payout | 2018-08-27 17:10:33 |
cashout_time | 1969-12-31 23:59:59 |
total_payout_value | 0.000 SBD |
curator_payout_value | 0.000 SBD |
pending_payout_value | 0.000 SBD |
promoted | 0.000 SBD |
body_length | 306 |
author_reputation | 152,913,012,544,965 |
root_title | "Supbot API | Whatsapp Group Chatbot API | Developement update #2" |
beneficiaries | [] |
max_accepted_payout | 1,000,000.000 SBD |
percent_steem_dollars | 10,000 |