Giter VIP home page Giter VIP logo

discordtipbot's People

Contributors

noescape00 avatar stratisdeveloper avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

discordtipbot's Issues

Tipbot lottery

Suggestion from Bogdanel from the discord, a weekly tipbot lottery. Participants can send 1 Strat once to a lottery during the week. At the end of the week winners are chosen at random from amongst the participants and they receive a share of the Strat. Say, 1st place 60%, 2nd place 30%, 3rd place 10%

Withdraw command should be deleted for security reasons

For security reasons, the message invoking the withdraw command shouldn't stay posted on discord, because everyone can see easily, that per example by searching discord, the user knijia, should have access to a wallet with 324 Strat, and if the user has a big Strat holding, it could be targeted by hackers:

image

Of course, the user could delete the message, after invoking it, but I think that the tipbot should warranty this somehow, if you decide in the future to use the 2nd suggestion for the issue #13 , it would fit nicely for this purpose.

Thanks, best regards

Find and add some RPC wrapper

Add RPC wrapper and configure it to use default stratis mainnet port (add those variables into Settings class).

This will later be used to interact with the node.

tipbot quizWinners

Develop a command identical to the chart but with the top 3 users with the most number of quizzes solved, and the number of quizzes.

Output of deposit command should mention user who invoked it

Mentioned by Tyler in the SDF discord:

Bot should mention the user who unvoked deposit command.

Motivation:
When there are more than one person who called deposit command in the same chat the bot will answers all of them and user might use wrong deposit address.

Auto-delete error messages

When error message is created it should have a countdown on the bottom - 20 sec.
After that time message is deleted.

Custom wrong command error handler

Add user-friendly error messages for the following scenarios:

  1. Command not found
  2. Wrong data type (arg was expected to be int but string received for example)
  3. Wrong arguments count

Implement Help command

Implement an attribute which we will be able to use on every command and supply there help message. Like that:

        [Command("withdraw")]
        [HelpInfo("Withdraws specified amount of money. Example usage: ....")]
        public Task WithdrawAsync(string address, double amount)
        {
            // TODO
            throw new NotImplementedException();
        }

Using those attributes we will fork a help message and display it when help command is called.

listActiveQuizes with Quizz Creator

In the result of the list of all active quizes (listActiveQuizes), add a line for the quiz creator.

Sometimes it is nice knowing who was the creator of the quizz to ask for some tips, engaging more with the community.

tipbot joke

New command for the tipbot:

Result: One short IT joke, some examples:

"Programmer.
A machine that turns coffee into code."

"Algorithm.
Word used by programmers when they don't want to explain what they did."

"My software never has bugs.
It just develops random features."

"CAPS LOCK โ€“ Preventing Login Since 1980."

"The code that is the hardest to debug is the code that you know cannot possibly be wrong."

"My attitude isn't bad.
It's in beta."

"Programmer.
A person who fixed a problem that you don't know you have, in a way you don't understand."

"Why use Linux: No Windows, no Gates, no Bill to pay."

"I would love to change the world, but they won't give me the source code."

"Black holes are where God divided by zero."

Make the bot fail tolerant

Simulate discord API request timeout, RPC timeouts, internet failure. Check what throws where and handle those errors appropriately so the bot doesn't shutdown on the first timeout exception.

Implement make it rain command

From discussion with Pharaoh:

"We used to have a fun dumb little feature for tip bot where if you tipped the tipbot, it would make it rain (send tips of 1 Strat amount to random users). So if I tipped tipbot 5 Strat, it would randomly tip 5 people. The problem with that was we'd be potentially tipping inactive users and throwing away money. If there's a way for discord to show active users from inactive users (like Slack) then that feature would be fun

Cool idea. We can get list of users who wrote on stratis discord channel in the past 24h and randomly select from them. Potentially even add option to the user of this command to select only from those that are online atm."

The Quiz Creator shouldn't be able to solve own quizes

The quizcreator shouldn't be able to solve quizes created by himself.

In the result message of the answerquiz command there is the indication of the quiz creator, by knowing who is the creator, the tipbot should exclude automatically quizes created by the user, of the active quizes, when the user uses the answerQuiz command.

Implement Quiz commands

Implement CreateQuizAsync and AnswerQuizAsync

CreateQuizAsync - user will be able to ask a question and supply hash of the answer. User will specify reward amount and time the quiz will hold. First to give an answer which hash is equal to hash supplied in the quiz creation will get the money.

Error message of data type mismatch

Hello noescape00,

I noticed that there is at least one parameter in one of the commands of the tipbot, for which the error message is "not worked", this is not a pretty error for a non IT guy (sorry for being too picky, but I am usted working with ERP's):

image

Thanks, best regards

Add support for graphene based coins like STEEM and BTS

Hello,
Great work indeed. I appreciate the hard work done by you. I am looking for similar tip bot with STEEM coins since steem has large userbase on discord. I can help with the configuration of steem nodes and address creation. Might create a PR if you agree.

PS : did you know you can be rewarded by utopian.io for your open source work with STEEM ? Check out https://www.utopian.io and https://steemit.com/@utopian-io.
You can create a steem account for as low as $2.50 at https://www.swapsteem.online

StartQuiz command showing the salted hash

Hello noescape00, i'm msssss, from the Stratis Discord, hope you don't mind that i post here some suggestions and hopefully some bugs about the Discord tipbot you developed.

Some users warned me about being possible to see the salted hash when the StartQuiz command is posted, that doesn't seem alright, there should be a better solution, rather than having to manually delete the command, some possible workarounds:
1 - Just accept the StartQuiz command from a direct message of the user to the tipbot (It's possible right? ), and it would be the tipbot to post automatically the quiz in the Tipping section;
2 - The tipbot could remove automatically the message from the user that ordered the StartQuiz (It's possible to do that by making the tipbot a moderator?).

Thanks, best regards

update log file

dont put all the logs in one file- separate by classes or namespaces.

Also create a log that will have everything higher than trace

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.