Commit graph

220 commits

Author SHA1 Message Date
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
Niko Storni
c1ad12824c fixed improper syntax
added package-lock
2017-12-06 19:39:31 +01:00
Niko
7eb3092fde
Merge pull request #3 from ProfessorDey/patch-1
Added Tipbot Privacy Mode
2017-12-05 01:39:35 +01:00
Niko Storni
95ea4f403e prettified code 2017-11-23 02:01:52 +01:00
Niko Storni
a199564da6 removed trigger on message edits
upgraded packages
2017-11-23 01:41:23 +01:00
ProfessorDey
ec48f114d8
Added Tipbot Privacy Mode
Allow for Tipbot to be used privately while still notifying the user that has received the tip, via private message.

Updates the Help message for new usage instructions, fixes misspelling of 'address' and adds a Key for the [ ] and < > syntax, as some users may not understand their usage.

Reworks the subcommand parsing by using a more compact Switch Function. Necessitates the use of 'break;' but is far more compact and legible, presumed the old if else block is from early development with fewer features available. Switch statement should allow for easier expansion.

Modifies doTip() to avoid requiring code duplication, includes two new variables used to indicate that the tip should be done in privacy mode and where the tip value is located in the 'words' array.

Significant change to sendLbc and it's function call, requirement for private message for recipient required User object, thus the function now requires the actual GuildMember object, not only the ID. While this marginally increases overhead, it should also allow access to the send() function for that Guild Member, allowing for private message to be sent. Further the addition of a privacy flag (0 for non-private, 1 for private) was added so that the function can determine whether to send a public or private response. this required updating references to the Guild Member's id to 'member.id', but otherwise operation remains the same until the transaction is completed, following which it will check the privacy flag and if it is set, will privately send the successful tip message to both author and recipient, otherwise it will simply reply via the normal '.reply()' function.
2017-11-14 18:33:17 +01:00
filipnyquist
59b66dc12a
Merge pull request #65 from lbryio/filipnyquist-patch-1
Fixed problem with balances.
2017-11-01 23:57:04 +01:00
filipnyquist
0c6162c184
Fixed problem with balances.
Fixed the problem regarding MSFTservers balance and found a small problem which should be fixed by this quickfix, someone please review ASAP.
2017-11-01 20:19:00 +01:00
filipnyquist
eaa99012fd Merge pull request #39 from LavRadis/patch-1
Edited !tip help line
2017-10-26 19:53:21 +02:00
LavRadis
cb800bdb8e Edited !tip help line 2017-10-26 19:46:41 +02:00
filipnyquist
1f5a7ace57 Update tipbot.js 2017-10-25 22:14:37 +02:00
filipnyquist
6d3749f970 Update bot.js 2017-10-25 22:00:17 +02:00
filipnyquist
7e0e3e8400 Update tipbot.js 2017-10-25 21:44:38 +02:00
filipnyquist
dfb1ec5b15 Merge pull request #32 from filipnyquist/tipbot_dc
Tipbot is here!
2017-10-25 21:33:09 +02:00
Fillerino
f018335f7b Tipbot is here!
Please review!
2017-10-25 21:12:38 +02:00
Fillerino
6d68fc6657 Preparing for the new bot! 2017-10-25 19:59:33 +02:00
Fillerino
94f305cfd2 Removed Slackbot, moved to old_slack, master will contain discord ver. 2017-10-25 19:51:26 +02:00
filipnyquist
36f5e18324 Merge pull request #21 from MSFTserver/master
Add All Supported Currencies From API for !price
2017-09-29 20:32:23 +02:00
MSFTserver
cd345dc6a2 add IDR from cryptocompare api 2017-09-27 14:10:35 -07:00
MSFTserver
a4382734ae add all supported currencies from api 2017-09-27 13:53:11 -07:00
MSFTserver
b42339e347 Merge pull request #1 from lbryio/master
merge fix for !hash
2017-09-27 13:13:18 -07:00
filipnyquist
35bfb267c1 Merge pull request #19 from MSFTserver/patch-1
Fix For !hash
2017-09-27 15:43:17 +02:00
MSFTserver
46593b280a Fix For !hash 2017-09-26 11:34:22 -07:00
Alex Grintsvayg
10b27a5faf PICKLE RICK!!! 2017-08-25 11:31:20 -04:00
Fillerino
a1ecdb4bf8 Merge pull request #16 from dpmidd/greeting
Fixed a few typos and added speech link
2017-08-10 11:32:03 +02:00
dmiddle
9b12e48b63 Fixed a few typos and added speech link 2017-08-09 20:30:49 -04:00
Fillerino
24ee7e4484 Merge pull request #15 from 98farhan94/lbry
PriceBot + MarketStats
2017-08-09 11:17:36 +02:00
Shaikh Farhan
f86cc10db8 Update in 5 minutes 2017-08-07 16:25:10 +05:30
Shaikh Farhan
b587037da6 Statbot fixes 2017-08-07 16:18:20 +05:30
Shaikh Farhan
529b0181c6 typo fix 2017-08-07 15:53:04 +05:30
Shaikh Farhan
ab2cd1891d Added statbot with EUR 2017-08-07 15:30:01 +05:30
Fillerino
0b1f6b04a9 Merge pull request #14 from dpmidd/master
Edited and clarified message users get on entry into Slack
2017-08-03 18:32:32 +02:00
dmiddle
6732b66ca8 Edited and clarified 2017-08-03 12:09:21 -04:00
Fillerino
cf8e7fa10a Merge pull request #13 from aayanl/patch-1
Add GBP to pricebot
2017-07-25 17:53:26 +02:00