greenbigfrog / discordtipbot Goto Github PK
View Code? Open in Web Editor NEWA tip bot for use on discordapp.com
License: MIT License
A tip bot for use on discordapp.com
License: MIT License
I just realized that the ~unclaimed
is still inaccurate...
We need to check if a message exceeds 2000 characters at https://github.com/greenbigfrog/discordtipbot/blob/master/src/discordtipbot/discordbot.cr#L122-L128 and if it does split it in multiple messages
The current statistics command could use a overhaul.
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
It's quite simple to add 2FA thanks to the email being in discord's OAuth scope: https://discordapp.com/developers/docs/topics/oauth2
(None high priority addition)
Allow to track amount of errors (sentry): https://github.com/Sija/raven.cr
statistics (datadog): https://github.com/miketheman/statsd.cr
The underlying check recently got changed in DCR, so DiscordTipBot#private? Has to be updated
The bot should detect and alarm the server owner when slow mode is enabled.
@z64 mind elaborating where there is still room for improvement?
To reduce of load on discord and speed up the rain command we could consider cacheing messages sent in the last 10 minutes per channel.
We have to assure to either support the usage of high value coins like BTC or LTC using mBTC or some other way
Only allow people to get soaked on, that have permission to see the channel, the command was executed in https://discordapp.com/developers/docs/topics/permissions#permission-overwrites
There's a return
missing here:
discordtipbot/src/discordtipbot/discordbot.cr
Line 553 in 11d64b2
Currently the bot only checks the last 1000 transactions for transactions that have been missed. Ideally the bot would check back as many transactions as needed.
After startup properly check if RPC works (eg no authentication issues)
Put rains, tips, and soaks that do not meet the limit to the next rain, tip, or soak. Or, just donate it. You spam and mess around, you pay the price.
discordtipbot/src/discordtipbot/discordbot.cr
Line 527 in 8acccfc
The nice thing about Crystal is that you can modify the way primitives work without modifying the source code. Instead of having people use a special version of the Crystal compiler, just add modified versions of the standard lib to your own code and import them. This makes things a lot easier on those using your bot, and means you don't have to keep your crystal branch up to date all the time.
The lucky command seams to be broken ATM.
Add half
as custom amount keyword
Submitted by Upsilon Trooper#4046
[9:32 PM] BOTdogecointipbot: In no event shall this bot or it's dev be responsible in the event of lost, stolen or misdirected funds.
"In no event .... in the event"
could be better worded to something like:
In no even shall this bot or it's dev be responsible for any loss, theft or misdirection of funds
Again same thing with the deposit function of the the tipbot, there's the same error warning message
[9:11 PM] BOTdogecointipbot: ERROR: You tried withdrawing too much. Also make sure you've got enough balance to cover the Transaction fee as well: 1.0
1.0 D maybe
The bot is supposed to only soak people which are currently online. This requires caching presences both at on_guild_ready
and on_presence_update
. Maybe open up Discord::Cache
again?
To allow a better overview, it might be nice to add a serial ID column to coin_transactions
Currently stuff like ;tip @sth 1thisshouldnotwork
will work. This should be considered to be removed.
Do not stop checking for deposits, if it fails once (because node is down)
Allow to reload the @config
inside a bot without restarting it completly
Add response time to ping.
https://github.com/meew0/discordcr/blob/master/examples/ping_with_response_time.cr
( @incognitojam I think you could manage to PR this. Please let me know if you want to PR this)
It would be nice to see the TX info on a successful withdrawal
cast from Nil to UInt64 failed, at /home/frog/discordtipbot/src/discordtipbot/discordbot.cr:203:5:203 (TypeCastError)
from src/discordtipbot/discordbot.cr:0:5 in 'guild_id'
from src/discordtipbot/discordbot.cr:511:114 in 'config'
from lib/discordcr/src/discordcr/client.cr:255:3 in 'handle_dispatch'
from /usr/share/crystal/src/random.cr:0:3 in '~procProc(Nil)'
from /usr/share/crystal/src/fiber.cr:255:3 in 'run'
from /usr/share/crystal/src/concurrent.cr:0:3 in '~proc2Proc(Fiber, (IO::FileDescriptor | Nil))'
from ???
The bot should display it's prefix and other info in it's status
Add more details on how to set up the bots.
Make sure admin commands are limited to DMs
At some point in the future we might want to implement ratelimit's on the actual command them self.
discordtipbot/src/discordtipbot/discordbot.cr
Lines 302 to 305 in c400b54
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.