NadekoBot Patronage system, Search commands improvements + fixes

This commit is contained in:
Kwoth
2022-06-14 07:24:33 +00:00
parent 18b10b8c6f
commit 7b5145f116
165 changed files with 14920 additions and 1457 deletions

View File

@@ -597,11 +597,10 @@ image:
lmgtfy:
- lmgtfy
google:
- google
- g
duckduckgo:
- duckduckgo
- ddg
- google
- search
- g
- s
hearthstone:
- hearthstone
- hs
@@ -1304,3 +1303,8 @@ bankbalance:
- balance
- b
- bal
patron:
- patron
patronmessage:
- patronmessage
- patronmsg

View File

@@ -67,18 +67,19 @@ helpText: |-
# List of modules and commands completely blocked on the bot
blocked:
commands: []
modules: []
modules:
- nsfw
# Which string will be used to recognize the commands
prefix: .
# Toggles whether your bot will group greet/bye messages into a single message every 5 seconds.
# 1st user who joins will get greeted immediately
# If more users join within the next 5 seconds, they will be greeted in groups of 5.
# This will cause %user.mention% and other placeholders to be replaced with multiple users.
# This will cause %user.mention% and other placeholders to be replaced with multiple users.
# Keep in mind this might break some of your embeds - for example if you have %user.avatar% in the thumbnail,
# it will become invalid, as it will resolve to a list of avatars of grouped users.
# note: This setting is primarily used if you're afraid of raids, or you're running medium/large bots where some
# servers might get hundreds of people join at once. This is used to prevent the bot from getting ratelimited,
# and (slightly) reduce the greet spam in those servers.
# servers might get hundreds of people join at once. This is used to prevent the bot from getting ratelimited,
# and (slightly) reduce the greet spam in those servers.
groupGreets: false
# Whether the bot will rotate through all specified statuses.
# This setting can be changed via .ropl command.

View File

@@ -52,10 +52,10 @@ generation:
timely:
# How much currency will the users get every time they run .timely command
# setting to 0 or less will disable this feature
amount: 0
amount: 120
# How often (in hours) can users claim currency with .timely command
# setting to 0 or less will disable this feature
cooldown: 24
cooldown: 12
# How much will each user's owned currency decay over time.
decay:
# Percentage of user's current currency which will be deducted every 24h.

View File

@@ -1,5 +1,5 @@
# DO NOT CHANGE
version: 3
version: 4
coins:
heads:
- https://cdn.nadeko.bot/coins/heads3.png
@@ -24,7 +24,7 @@ rategirl:
matrix: https://cdn.nadeko.bot/other/rategirl/matrix.png
dot: https://cdn.nadeko.bot/other/rategirl/dot.png
xp:
bg: https://cdn.nadeko.bot/other/xp/bg.png
bg: https://cdn.nadeko.bot/other/xp/bg_k.png
rip:
bg: https://cdn.nadeko.bot/other/rip/rip.png
overlay: https://cdn.nadeko.bot/other/rip/overlay.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View File

@@ -0,0 +1,67 @@
# DO NOT CHANGE
version: 1
# Whether the patronage feature is enabled
isEnabled: false
# List of patron only features and relevant quota data
quotas:
# Dictionary of feature names with their respective limits. Set to null for unlimited
features:
"timely:extra_percent":
v: 10
x: 22
xx: 50
l: 150
c: 350
"rero:max_count":
v: 25
x: 50
"cleverbot:response":
v: -20
x: 5000
xx: 12000
l: 35000
c: 100000
# Dictionary of commands with their respective quota data
commands:
prune:
x:
perHour: 1
xx:
perHour: 3
google:
v:
perDay: 15
x:
perDay: 30
xx:
perDay: 60
l:
perDay: 150
c:
perDay: 300
image:
v:
perDay: 15
x:
perDay: 30
xx:
perDay: 60
l:
perDay: 150
c:
perDay: 300
youtube:
v:
perDay: 25
x:
perDay: 50
xx:
perDay: 100
l:
perDay: 250
c:
perDay: 500
# Dictionary of groups with their respective quota data
groups: {}
# Dictionary of modules with their respective quota data
modules: {}

View File

@@ -0,0 +1,40 @@
# Which engine should .search command
# 'google' requires googleApiKey and google.searchId set in creds.yml
# 'searx' requires at least one searx instance specified in the 'searxInstances' property below
webSearchEngine: Google
# Which engine should .image command use
# 'google' requires googleApiKey and google.imageSearchId set in creds.yml
# 'searx' requires at least one searx instance specified in the 'searxInstances' property below
imgSearchEngine: Google
# Which search provider will be used for the `.youtube` command.
#
# - `ytDataApiv3` - uses google's official youtube data api. Requires `GoogleApiKey` set in creds and youtube data api enabled in developers console
#
# - `ytdl` - default, uses youtube-dl. Requires `youtube-dl` to be installed and it's path added to env variables. Slow.
#
# - `ytdlp` - recommended easy, uses `yt-dlp`. Requires `yt-dlp` to be installed and it's path added to env variables
#
# - `invidious` - recommended advanced, uses invidious api. Requires at least one invidious instance specified in the `invidiousInstances` property
ytProvider: Ytdl
# Set the searx instance urls in case you want to use 'searx' for either img or web search.
# Nadeko will use a random one for each request.
# Use a fully qualified url. Example: `https://my-searx-instance.mydomain.com`
# Instances specified must support 'format=json' query parameter.
# - In case you're running your own searx instance, set
#
# search:
# formats:
# - json
#
# in 'searxng/settings.yml' on your server
#
# - If you're using a public instance, make sure that the instance you're using supports it (they usually don't)
searxInstances: []
# Set the invidious instance urls in case you want to use 'invidious' for `.youtube` search
# Nadeko will use a random one for each request.
# These instances may be used for music queue functionality in the future.
# Use a fully qualified url. Example: https://my-invidious-instance.mydomain.com
#
# Instances specified must have api available.
# You check that by opening an api endpoint in your browser. For example: https://my-invidious-instance.mydomain.com/api/v1/trending
invidiousInstances: []

View File

@@ -193,7 +193,7 @@ iamnot:
args:
- "Gamer"
expradd:
desc: "Add a expression with a trigger and a response. Running this command in server requires the Administration permission. Running this command in DM is Bot Owner only and adds a new global expression. Guide here: <http://nadekobot.readthedocs.io/en/latest/custom-reactions/>"
desc: "Add an expression with a trigger and a response. Running this command in server requires the Administration permission. Running this command in DM is Bot Owner only and adds a new global expression. Guide here: <https://nadekobot.readthedocs.io/en/latest/custom-reactions/>"
args:
- "\"hello\" Hi there %user.mention%"
exprlist:
@@ -278,7 +278,7 @@ rolehoist:
desc: "Toggles whether this role is displayed in the sidebar or not. The role you specify has to be lower in the role hierarchy than your highest role."
args:
- "Guests"
- "\"Space Wizards\""
- "Space Wizards"
createrole:
desc: "Creates a role with a given name."
args:
@@ -380,7 +380,7 @@ setnick:
setavatar:
desc: "Sets a new avatar image for the NadekoBot. Parameter is a direct link to an image."
args:
- "http://i.imgur.com/xTG3a1I.jpg"
- "https://i.imgur.com/xTG3a1I.jpg"
setgame:
desc: "Sets the bots game status to either Playing, Listening, or Watching."
args:
@@ -578,7 +578,9 @@ serverblacklist:
- ""
- "2"
cmdcooldown:
desc: "Sets a cooldown per user for a command or a expression. Set it to 0 to remove the cooldown."
desc: "Sets a cooldown, in seconds, for a command or an expression which will be applied per user.
Set it to 0 to remove the cooldown.
Supports a special command `cleverbot:response` which can be used limit how often users can talk to cleverbot"
args:
- ".h 5"
- ".pat 30"
@@ -1040,11 +1042,11 @@ urbandict:
args:
- "Pineapple"
catfact:
desc: "Shows a random catfact from <http://catfacts-api.appspot.com/api/facts>"
desc: "Shows a random catfact from <https://catfacts-api.appspot.com/api/facts>"
args:
- ""
yomama:
desc: "Shows a random joke from <http://api.yomomma.info/>"
desc: "Shows a random joke from <https://api.yomomma.info/>"
args:
- ""
randjoke:
@@ -2209,3 +2211,11 @@ bankbalance:
desc: "Shows your current bank balance available for withdrawal."
args:
- ""
patron:
desc: "Check your patronage status and command usage quota. Bot owners can check targeted user's patronage status."
args:
- ""
patronmessage:
desc: "Sends a message to all patrons of the specified tier and higher. Supports embeds."
args:
- "x hello"

View File

@@ -248,7 +248,6 @@
"command_not_found": "I can't find that command. Please verify that the command exists before trying again.",
"desc": "Description",
"cant_dm": "I can't dm you. Make sure your DMs are open. Go to **options (cog button) -> Privacy & Safety -> Allow direct messages from server members**",
"donate": "You can support the NadekoBot project on \nPatreon <{0}> or\nPaypal <{1}>\nDon't forget to leave your discord name or id in the message.\n\n**Thank you** ♥️",
"guide": "**List of commands**: <{0}>\n**Hosting guides and docs can be found here**: <{1}>",
"list_of_modules": "List of modules",
"module_not_found": "That module does not exist.",
@@ -999,5 +998,21 @@
"bank_deposited": "You deposited {0} to your bank account.",
"bank_withdrew": "You withdrew {0} from your bank account.",
"bank_withdraw_insuff": "You don't have sufficient {0} in your bank account.",
"cmd_group_commands": "'{0}' command group"
"cmd_group_commands": "'{0}' command group",
"limit_reached": "Feature limit of {0} reached.",
"feature_limit_reached_you": "You've reached the limit of {0} for the {1} feature. You may be able to increase this limit by upgrading your patron tier.",
"feature_limit_reached_owner": "Server owner has reached the limit of {0} for the {1} feature. Server owner may be able to upgrade this limit by upgrading patron tier.",
"feature_limit_reached_either": "The limit of {0} for the {1} feature has been reached. Either you or the server owner may able to upgrade this limit by upgrading the patron tier.",
"tier": "Tier",
"pledge": "Pledge",
"expires": "Expires",
"commands": "Commands",
"groups": "Groups",
"modules": "Modules",
"no_quota_found": "No quota found",
"patron_info": "Patron Info",
"quotas": "<<< Quotas >>>",
"patron_not_enabled": "Patron system is disabled.",
"results_in": "{0} results in {1}s",
"patron_msg_sent": "Done sending messages to patrons at and above tier {1}. {1} successfully sent and {2} failed."
}

View File

@@ -1,7 +1,8 @@
{
"Version": 1,
"output_size": {
"X": 450,
"Y": 220
"X": 800,
"Y": 392
},
"User": {
"Name": {
@@ -16,12 +17,12 @@
"Icon": {
"Show": true,
"Pos": {
"X": 32,
"Y": 10
"X": 14,
"Y": 14
},
"Size": {
"X": 69,
"Y": 70
"X": 72,
"Y": 71
}
},
"GlobalLevel": {
@@ -30,7 +31,7 @@
"FontSize": 45,
"Pos": {
"X": 47,
"Y": 149
"Y": 160
}
},
"GuildLevel": {
@@ -39,7 +40,7 @@
"FontSize": 45,
"Pos": {
"X": 47,
"Y": 297
"Y": 308
}
},
"GlobalRank": {
@@ -60,27 +61,6 @@
"Y": 326
}
},
"TimeOnLevel": {
"Format": "{0}d{1}h{2}m",
"Global": {
"Color": "ffffffff",
"Show": true,
"FontSize": 20,
"Pos": {
"X": 50,
"Y": 204
}
},
"Guild": {
"Color": "ffffffff",
"Show": true,
"FontSize": 20,
"Pos": {
"X": 50,
"Y": 351
}
}
},
"Xp": {
"Bar": {
"Show": true,
@@ -116,8 +96,8 @@
"Show": true,
"FontSize": 50,
"Pos": {
"X": 430,
"Y": 142
"X": 528,
"Y": 170
}
},
"Guild": {
@@ -125,8 +105,8 @@
"Show": true,
"FontSize": 50,
"Pos": {
"X": 400,
"Y": 282
"X": 490,
"Y": 313
}
},
"Awarded": {
@@ -134,8 +114,8 @@
"Show": true,
"FontSize": 25,
"Pos": {
"X": 445,
"Y": 347
"X": 490,
"Y": 345
}
}
}

View File

@@ -1,165 +0,0 @@
{
"output_size": {
"X": 450,
"Y": 220
},
"User": {
"Name": {
"Color": "ffffffff",
"Show": true,
"FontSize": 50,
"Pos": {
"X": 130,
"Y": 17
}
},
"Icon": {
"Show": true,
"Pos": {
"X": 32,
"Y": 10
},
"Size": {
"X": 69,
"Y": 70
}
},
"GlobalLevel": {
"Color": "ffffffff",
"Show": true,
"FontSize": 45,
"Pos": {
"X": 47,
"Y": 149
}
},
"GuildLevel": {
"Color": "ffffffff",
"Show": true,
"FontSize": 45,
"Pos": {
"X": 47,
"Y": 297
}
},
"GlobalRank": {
"Color": "ffffffff",
"Show": true,
"FontSize": 30,
"Pos": {
"X": 148,
"Y": 179
}
},
"GuildRank": {
"Color": "ffffffff",
"Show": true,
"FontSize": 30,
"Pos": {
"X": 148,
"Y": 326
}
},
"TimeOnLevel": {
"Format": "{0}d{1}h{2}m",
"Global": {
"Color": "ffffffff",
"Show": true,
"FontSize": 20,
"Pos": {
"X": 50,
"Y": 204
}
},
"Guild": {
"Color": "ffffffff",
"Show": true,
"FontSize": 20,
"Pos": {
"X": 50,
"Y": 351
}
}
},
"Xp": {
"Bar": {
"Show": true,
"Global": {
"Color": "00000066",
"PointA": {
"X": 321,
"Y": 104
},
"PointB": {
"X": 286,
"Y": 235
},
"Length": 450,
"Direction": 3
},
"Guild": {
"Color": "00000066",
"PointA": {
"X": 282,
"Y": 248
},
"PointB": {
"X": 247,
"Y": 379
},
"Length": 450,
"Direction": 3
}
},
"Global": {
"Color": "ffffffff",
"Show": true,
"FontSize": 50,
"Pos": {
"X": 430,
"Y": 142
}
},
"Guild": {
"Color": "ffffffff",
"Show": true,
"FontSize": 50,
"Pos": {
"X": 400,
"Y": 282
}
},
"Awarded": {
"Color": "ffffffff",
"Show": true,
"FontSize": 25,
"Pos": {
"X": 445,
"Y": 347
}
}
}
},
"Club": {
"Icon": {
"Show": true,
"Pos": {
"X": 722,
"Y": 25
},
"Size": {
"X": 45,
"Y": 45
}
},
"Name": {
"Color": "ffffffff",
"Show": true,
"FontSize": 35,
"Pos": {
"X": 650,
"Y": 49
}
}
}
}