Commit graph

203 commits

Author SHA1 Message Date
Thomas Zarebczan
1545685502
Update tipbot.js
fix private roletip? 

Similar to https://github.com/lbryio/lbry-tipbot/pull/20/files
2018-09-26 22:43:10 -04:00
filipnyquist
a82d7509c6
Merge pull request #32 from Invariant-Change/patch-2
Slight Mix Up Fixed <address> <amount>
2018-07-13 14:32:21 +02:00
Electron - Mark Firth
c1aefa0b33
Slight Mix Up Fixed <address> <amount>
Slight Mix Up Fixed
From: `<amount> <address>`
To:  `<address> <amount>`
2018-07-13 22:30:59 +10:00
filipnyquist
c33625efc3
Merge pull request #31 from lbryio/fix-helpmsgs
Fix helpmsgs, tested in dev env.
2018-07-13 13:13:12 +02:00
filipnyquist
e9c30f3586 Moved all the help to the same msg used throughout the whole tipbot, removes the needs of specialized helpmsgs. also adds the tipbot FAQ link. 2018-07-13 11:41:24 +02:00
filipnyquist
b016be3a86 Moved all the help to the same msg used throughout the whole tipbot, removes the needs of specialized helpmsgs. also adds the tipbot FAQ link. 2018-07-13 11:41:04 +02:00
filipnyquist
affd92a2da
Fixed missing commas from chris45s PR. 2018-07-12 11:30:45 +02:00
filipnyquist
fda287b097
Merge pull request #29 from ykris45/patch-1
As no code touching the tipping functions is in this I´ll merge and update the running bot.
2018-07-12 10:53:28 +02:00
YULIUS KURNIAWAN KRISTIANTO
e4de016884
add faq tipbot-discord to the tipbot 2018-07-11 20:38:33 +07:00
Niko Storni
da96401cbf
fix tipping bug 2018-05-04 09:20:24 -04:00
Niko Storni
037958db49
update dependencies 2018-05-04 07:33:43 -04:00
Niko
bf1696878a
Merge pull request #28 from khay12/master
Fixed !roletip
2018-05-04 06:15:24 -04:00
Chocolate
6413a7042f
Fixed !roletip 2018-05-04 17:50:09 +08:00
Chocolate
510c2399d6
Fixed !roletip 2018-05-04 17:06:23 +08:00
filipnyquist
7e9134e4cc
Merge pull request #25 from ProfessorDey/patch-5
Quick fix for private tip message tagging
2018-04-10 19:43:06 +02:00
ProfessorDey
9059d90a17
Quick fix for private tip message tagging
For some reason User.tag includes username#1234, not just 1234 as one would expect, so quick fix so these display properly. Nothing complicated.
2018-04-10 17:03:33 +00:00
Niko
34b7b2391b
Merge pull request #20 from ProfessorDey/patch-4
Fixing Roletip sendLBC call
2018-03-21 10:12:02 -04:00
ProfessorDey
db8d90b9a7
Fixing Roletip sendLBC call
Apparently despite being a supposedly smart language, JS still insists on making me convert a string of numbers from a number back to a string before _and_ inside a function call, yay aggressively dynamically typed languages.

This _should_ fix the matter now
2018-03-20 17:18:30 +00:00
Niko
44f4b4407f
Merge pull request #19 from ProfessorDey/patch-3
Fix Private Mode Usernames
2018-03-08 11:15:22 +01:00
ProfessorDey
6237777be0
Fix Private Mode Usernames
So it turns out that if you try to print a userid of someone that isn't in that server, such as in a dm channel, it simply displays as invalid user (Even though userids are unique across the entirety of discord, got to love that logic). So now the private message instead uses the .username and .tag attributes to provide the normal userid, like so: @GenericUser#1234

While this may be a tad confusing to those using nicknames, it identifies the exact individual doing the tipping, it just might require a little digging.
2018-03-08 07:55:27 +00:00
Niko
22af3edc89
Merge pull request #18 from ProfessorDey/patch-2
Sanitise User Check
2018-03-01 02:10:59 +01:00
ProfessorDey
a2d1910be4
Sanitise User Check
This is something we apparently have always been missing because that was from the old code, iirc.
2018-02-28 23:50:24 +00:00
Niko
ea8773ffaf
Merge pull request #17 from ProfessorDey/patch-1
Change !tipcommands to !tips
2018-03-01 00:13:49 +01:00
ProfessorDey
535a1e365c
Change !tipcommands to !tips
What it says on the tin.
2018-02-28 22:36:41 +00:00
Niko
ebe97e08a3
fix capitalization typo 2018-02-28 23:22:52 +01:00
Niko
c749ee4777
add missing # in channel messages 2018-02-28 23:15:53 +01:00
Niko
80d1ed97dc
Merge pull request #13 from ProfessorDey/master
Adding Multi User & Role Tipping and Help/Warning Optimisation
2018-02-28 22:54:00 +01:00
Niko Storni
8a29b053a0
missed 2 coins -> credits 2018-02-22 02:35:49 +01:00
Niko Storni
6cfd4f578e
updated default configuration 2018-02-22 02:26:39 +01:00
Niko Storni
f2c784dc23
Merge branch 'master' into multirole
ported over the changes made in master
changed vars to let
simplified code
added missing dependency to package.json
2018-02-22 02:22:58 +01:00
Niko Storni
7868578a7b
converted some strings in template strings
replaced hardcoded channel
fixed prettier precommit
prettified bot.js
2018-02-22 01:39:04 +01:00
Niko Storni
366de08922
cleaned code up
used more of the configuration
removed useless code
converted vars into lets
updated packages
updated precommit hooks
2018-02-22 01:03:18 +01:00
ProfessorDey
8eb5bb9578
Integrating final MSFT fixes
Now the last little changes have been implemented, had to modify how we got the user to message since we were previously getting the first user mentioned in the message, whereas we now match against all known users in the guild. This means users actually get messaged by, say, rolebot even if they're not in the channel you're tipping from. Of course you can't directly mention anyone not in the channel for multitip, so that's a non-issue in most use cases.

Also had to ensure certain function calls were sending the right type, because dynamic languages and lack of type safety.

That _should_ be absolutely everything needed to have it fully functional.
2018-02-21 19:52:46 +00:00
ProfessorDey
b6598a4ffa
Final functionality fixes from MSFTblockchain
All finally operational and tested on MSFT's RVN server, code ported back over after figuring out various JS specific implementation issues. Now all works correctly and doesn't include anyone it shouldn't.
2018-02-12 22:43:37 +00:00
ProfessorDey
f239d5f394
Implement MSFTblockchain's Fixes
Implements MSFTblockchain's fixes from PR #4 without customisations or version regression.

Now requires Node.js Regex module for testing for user mentions in text with regex, including a fallback if a unit test fails.

Also adds !tipcommands command which gives an up to date list of all commands tipbot accepts with a brief description of each.

The tip message tail about DMing tipbot is now contextualised to give the appropriate !<command> and also points users towards the new !tipcommands command.

Private tip messages are now a bit nicer to read and prv is now a boolean flag to fix some odd errors that were occuring.

Error Messages now delete themselves after a short time for cleanliness.

Help messages are now in Discord Embeds to line up with Wunderbot, though this currently ignores tabs, so help messages don't quite match the requested format. Commands have been made bold to prevent confusion.

Everything should now actually work, but will require testing to be sure.
2018-02-12 13:48:38 +00:00
ProfessorDey
dbcaca301e
Grammar fixes and un-hardcode bot-sandbox 2018-02-06 07:59:44 +00:00
aayanl
ad848c3ab1
Grammar fixes and un-hardcode bot-sandbox 2018-02-06 02:53:59 -05:00
ProfessorDey
623250e1b4
Adding Multi User Tipping and Role Tipping
This is actually not too substantial an addition. it adds 2 additional command exports for tipbot, namely !multitip and !roletip.

!multitip [private] <user>+ <amount>
The more complex new feature, this command will take a list of users, seperated by spaces, and passes through to doTip() if you only list a single user. It tests each word past the ! command and private tag, checking for a user mention using the regex.test() function of the Discord.js USERS_PATTERN, using that to count the number of users mentioned in a row, then takes the first word that is not a match to be the amount. Error checking then returns the appropriate errors to the user, if any. Otherwise it proceeds to send tips to each user individually. this results in messages for every user that receives a tip, which can be messy. It will also message the author once for every user a tip is sent to, if using private mode, this isn't ideal, but would require rewriting the sendLbc() function, which is outside the scope of this commit.

!roletip <role> <amount>
This is a relatively simpler feature, the command taking a single role and an amount, then extracting the userIDs from the role via the Roles.members and GuildMember.user values. It will return seperate errors for a lack of a role in the message and the lack of any users in a role. Like the !multitip command, it will send tips individually to each user, with the same spam of messages either in the channel or the author's private channel.
2018-02-06 06:18:05 +00:00
ProfessorDey
564a5d3135
Merge pull request #1 from ProfessorDey/patch-4
Update to latest
2018-02-06 01:46:31 +00:00
ProfessorDey
bef28e3e02
Optimise Help Msg & Wrong Channel Warning
This one involves a fair amount of reworking of the way functions operate, all checks for being in private or bot sandbox have been removed from functions and that functionality is now applied through privateOrSandboxOnly(), passing the message, channel warning, function to be called and then an array of arguments, sans message, as that's automatically attached at the head as all primary functions require the message anyway. while this makes each case entry a bit longer, it does reduce code reuse and potential for old code being left in, since each function had to previously be updated individually if something happened with the way these tests were carried out.

I've yet to find a way to allow us to set the export description and the help message in one fell swoop, so for now I've manually set the description. The help message itself is now broken down into pairs of subcommand and description, the subcommand will be indented once, while the description will be indented twice.

The way the help function now works is to allow everything to be set at the start, without needing to hunt all the way down to find the duplicate help message. Now everything can be replaced in the main function, though this will require a bit of computation with each request presently, as I don't know if or how the exported functions can access constants defined outside them. This can be optimised later if need be and at the very least shouldn't slow things down very much with the few entries that there are.

Unfortunately changing the way that the help message works does involve parameterising the help message itself for any function that requires it, but this also provides a helpful indicator of what functions might fail and fall back on the help function.
2018-02-01 10:33:18 +00:00
filipnyquist
a7e72723d5
Merge pull request #11 from lbryio/add-license-1
Create LICENSE
2018-01-25 17:05:11 +01:00
filipnyquist
7d414e5a1c
Create LICENSE 2018-01-25 17:05:02 +01:00
Niko
c7b8385455
Merge pull request #8 from ProfessorDey/patch-2
Updated doHelp() & Added Self Tip Detection
2018-01-04 01:28:55 +01:00
ProfessorDey
7e22067602
Update to match later PR 2018-01-03 21:57:03 +00:00
Niko
0f5a215b7d
Merge pull request #9 from ProfessorDey/patch-3
Fixing Duplicate Tipbot Account Issue
2018-01-03 01:23:48 +01:00
ProfessorDey
d89722cd1d
Fixing Duplicate Tipbot Account Issue
Misunderstood the use of GuildMember in Discord.js due to vague documentation, resulting in tipbot accounts being created accidentally due to getting the wrong Snowflake for the user. The function now takes the user.id of the recipient, preformated to match the tipper, with appropriately adjusted references to the user.

Hopefully this should fix the issues being had though manual recovery of the currency in the accidentally created accounts will still be required. Sorry for the trouble.
2017-12-25 21:43:14 +01:00
ProfessorDey
115b6c3460
Updated doHelp() & Added Self Tip Detection
Updated doHelp() to match updated module description in Commit ec48f11 (ec48f114d8 (diff-baad512c11a603dedf1cf7f391e341bd))
Also altered help logic so the help message is always DM'd to user to assist new users who struggle to find how to begin a dm session and to improve general usability.

Further added a self tip check to sendLbc() to prevent duplicate messages being received by the user, so as to make clear that the tip is only being sent once.
2017-12-25 20:22:36 +01:00
Niko
4df306e7ce
Merge pull request #7 from nikooo777/master
removed ! from IDs
2017-12-25 01:54:19 +01:00
Niko Storni
09f50ffc5c removed ! from IDs
formatted code
upgraded dependencies
2017-12-25 01:49:45 +01:00
filipnyquist
5c21d0fd22
Merge pull request #4 from nikooo777/master
Merged!
2017-12-14 22:47:14 +01:00