Votefun- A Simple Yet Powerful Discord Upvoting Bot

in #utopian-io6 years ago (edited)

Repository

https://github.com/Rishi556/Votefun

Introduction

Votefun is a discord upvote bot similar to that in PAL.NET, and recently in the SteemMonsters discord channel as well but open source and customizable to easily allow anyone to add it to their server and let the members use it. Once the bot is in the server, a member can simply type in the the upvote command, which is a prefix(defined by the administrator of the bot on the server) and upvote, then providing the post link to a post either on busy.org or steemit.com, example : $upvote https://busy.org/@rishi556/votefun-a-simple-yet-powerful-discord-upvoting-bot. Our 1.0.0 release happened on September 22,2018 and with that, I wanted to introduce the project out to everyone.

Post Body

Votefun was originally designed to be in one discord server only, and give votes to the posts of members of that server only, but upon seeing the potential to help communities grow, Votefun decided to go open source and allow everyone to add a bot of that nature to their server.


From the kiwibot discord server. We can see that the bot left a vote on the post.


Sometimes the bot doesn't upvote a post because the post doesn't meet the qualifications. This was in the cryptowithincin discord server.

Votefun is now designed with customizability in mind. An easy to use config file means that even those without extensive programming knowledge will be able to edit it to their heart's content. A few of the items that the bot owner can customize currently are:

  • the comment left under voted posts
  • the prefix used in the discord server
  • the ability to whitelist users to give them better rewards, whitelisting is done on a steem username basis
  • the name of the role in discord that has the ability to add to and remove from the bot's whitelist
  • the minimum and maximum age of a post that will be voted for whitelisted users
  • the minimum and maximum age of posts that will be voted for non-whitelisted users
  • the minimum voting power of the account in order to cast a vote
  • the ability to send bids to @drotto on posts for whitelisted users
  • the amount to send to @drotto if sending bids to it is enabled
  • the ability to send an extra message to send on the discord server when the vote is successfully cast(or attempted to).
  • vote timer(a steem account can only get a vote every 24 hours)
  • customizing properties right from discord(functions only a few a few properties)
  • vote % for whitelisted and non whitelisted users


The bot sends bids to @drotto in this format.

Roadmap

A project can't be anything without goals, and here our our current goal is to release V2.0 By December 31st 2018. V2.0 will have to goal of:

  • Changing to codebase to be more readable for those who want to be able to edit it, while doing this, I'll also be converting steemjs to dsteem
  • Refactored out the code to help with readability and making it easier for those who run the bot on their server to change the settings of the bot without having to mess with the config file on their server or the messy nature of discord
  • A simple mobile app, that help bot owners view information about their bot easily and edit anything that they need to.
  • Weekly posting of stats of the bot. This was attempted in the alpha version, but because of errors, it wasn't incorporated on V1.0.
  • More customizable bid to bots. Right now we only have support for @drotto right off the gate, but I hope to make it easier to add more bots to send bids to as well as customizable bid to each bot.
  • Better error messages. Error messages just say error right now, better error messages will enable users to know why their post wan't able to get voted.
  • Blacklist tag. If a user uses a certain tag on a post, the post won't get voted.
  • Required tag. A user must have a certain tag for their post to get voted.
  • Don't require users to use a site that follow @user/permlink format. Currently users need to use links that follow the above mentioned format, but with a V2.0, support for more sites(link format) will be enabled.
  • Finally blacklisting is also planned to be added onto votefun. We will use blacklists that are already out there like the @buildawhile blacklist and a few others, and our own, as well as a blacklist just for the bot. This will be done through the global blacklist api created by @themarkymark(his post about it can be found here. Bot owners will be able to configure which blacklists they want to enable. Blacklists will supersede whitelists so if a user is blacklisted, even if they are in the bot's whitelist, they won't receive a vote. If you are a bot owner and want to change this around, you will be able to do so by altering the code a bit.

The bot is already running on a few servers and has worked fantastically there so far.

Resources

Kiwibot discord server where you can try the bot out: https://discord.gg/8KS5A7x.
Cryptowithincin discord server where you can try the bot out: https://discord.gg/9DWQc8v.
Version 1.0.0 on github: https://github.com/Rishi556/Votefun/tree/V1.0.0. At the time of writing, its the most stable version.

Sort:  

Congratulations on launching your project! Votefun seems like an interesting project that may be of use to many.

I had some issues with the post, both in terms of content and in regards to presentation. So let's talk about that.

Your post is written under the assumption that people have a significant amount of existing knowledge. That they know what PAL is, that they know what a bidbot is. While expecting readers to know what Discord is seems reasonable to me (and readers who aren't on Discord are unlikely to have a use for Votefun), I would not expect a general audience to know these terms. A bit of explanation would make the post clearer to a general audience. This is both more inclusive and a better thing for you, as it expands your potential userbase. This is a basic difference between the Blog and Development categories in Utopian: The former is aimed at a much more general audience.

On to the topic of bidbots, I must say that I would personally be happier with the project if it didn't support any of those. Without that, it's a clear good thing: A tool that helps community members support other community members. I've seen similar bots, and they seem to work well if they get community support. Bidbots are controversial on the blockchain. I understand the points for and against, but it is inarguable that they are controversial. And, personally, I'm not a fan.

I like much of the roadmap, with the mobile app being a nice touch.

Finally, the post had some issues of style and grammar. I'd be happy to supply examples in a follow-up comment if wanted.

Your contribution has been evaluated according to Utopian policies and 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.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Thanks for the suggestions, I think that the basic explanation got lost during the saves for this post(been slowly adding to it for about a month), but I'll edit it to include that.

My goal with the bot was to help communities support its members, especially since I saw many groups were voting posts made by their users, but it was either manual, or automated and not functioning properly(@steemkitchen had a bot that broke). Joining up many discord, (steem drone lovers is an example), I saw the leaders were attempting to vote for for people who made posts about topics relating to that community, and that plus a spiral of other events led me to start creating this bot. My biggest hope is that small communities to use this to help give their members something extra.

As for bidbots, I do understand your side, but I chose to include them as a way for communities without a lot of SP to help their members without having to spend too much on it. If you(or anyone for the matter) have any ideas on what I could use to replace that while still allowing new communities to help their members, I'll be happy to replace it.

The mobile app idea is a personal favorite of mine, especially since I learned how to use express.js. I do host a couple instances of the bot and having to change the settings when they ask does take some time so I thought about having a way that they can easily control it for themselves. Plus it gives me another excuse to learn more about android development.

As for style, is the bulleted list not acceptable? I'm willing to change it to what works best, and I thought it might be a good way to separate out the different ideas. I would love examples of great posts.

The style issue is not about formatting. The formatting is fine. It's more about the English, in terms of grammar and sentence construction.

Are you familiar with 1UP? When they launch next month, they may become useful in doing exactly what you want to do: Supporting communities. Their system of 1person=1vote would probably not mesh well with the bot, however.

I'll try and improve my grammar next time, not always the best at spotting errors.

As for 1UP, I've heard of them(think they had a post on trending recently), but am not really familiar with them. I'll take a look into it to see whats its all about.

Thank you for your review, @didic!

So far this week you've reviewed 11 contributions. Keep up the good work!

You got voted by @votefun thanks to Princess. To support development, check out @rishi556. Hosted on the @cryptowithincin discord.

You got voted by @curationkiwi thanks to Princess! This bot is managed by @KiwiBot and run by @rishi556, you can check both of them out there. To receive maximum rewards, you must be a member of @KiwiBot. To receive free upvotes for yourself (even if you are not a member) you can join the KiwiBot Discord linked here and use the command !upvote (post name) in #curationkiwi.

This post has received a 3.13 % upvote from @drotto thanks to: @curationkiwi.

Hi @rishi556!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server

Congratulations! Your post has been selected as a daily Steemit truffle! It is listed on rank 22 of all contributions awarded today. You can find the TOP DAILY TRUFFLE PICKS HERE.

I upvoted your contribution because to my mind your post is at least 14 SBD worth and should receive 328 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!

Have a nice day and sincerely yours,
trufflepig
TrufflePig

YOU JUST GOT UPVOTED

Congratulations,
you just received a 15.11% upvote from @steemhq - Community Bot!

Wanna join and receive free upvotes yourself?
Vote for steemhq.witness on Steemit or directly on SteemConnect and join the Community Witness.

This service was brought to you by SteemHQ.com

Coin Marketplace

STEEM 0.31
TRX 0.38
JST 0.059
BTC 95746.69
ETH 3711.36
SBD 4.15