Commit Graph

57 Commits

Author SHA1 Message Date
Kwoth
9223d78849 Removed redundant parenthesis 2021-12-20 03:54:30 +01:00
Kwoth
da2ee0c158 await usings and minor cleanup 2021-12-20 03:02:02 +01:00
Kwoth
1b2017024c More target-typed new and redundant paranthesis cleanup 2021-12-20 00:33:11 +01:00
Kwoth
345a9e9524 Removed unused modulebehavior struct and interface 2021-12-20 00:18:22 +01:00
Kwoth
cd379fd308 vars and target-typed new 2021-12-20 00:15:39 +01:00
Kwoth
ee33313519 Global usings and file scoped namespaces 2021-12-19 05:14:11 +01:00
Kwoth
9be8140d4d Added .showembed <msgid> and .showembed #channel <msgid> which will show you embed json from the specified message 2021-12-13 20:29:45 +01:00
Kwoth
219ca39cd1 Added .coordreload which will reload coord.yml when using NadekoBot.Coordinator
- bots with more than 1 shard will now use redis strings provider
2021-12-01 09:41:23 +01:00
Kwoth
a2ea806bed Removed slot.numbers from images.yml as they're no longer used anywhere, thx ala 2021-11-24 01:49:03 +01:00
Kwoth
c050ce2123 Added .emojiadd command 2021-11-21 00:07:19 +01:00
Kwoth
06c20c6fa4 Patreon Access and Refresh Tokens should now be automatically updated 2021-11-17 18:45:49 +00:00
Kwoth
d090aa23ee Slots redesign nad images moved to images.yml 2021-11-03 14:22:51 +00:00
Kwoth
1af75fd813 Created VotesApi project nad re-worked vote rewards handling 2021-10-15 22:06:30 +00:00
Kwoth
02de25a931 Typo 2021-10-09 19:55:19 +02:00
Kwoth
4532f992cd Fixed field not preserving inline after string replacements. closes #308 2021-10-09 19:48:54 +02:00
Kwoth
83ea046d5f Fixed %users% and %shard.usercount% placeholders not showing correct member count 2021-10-05 13:09:52 +02:00
Kwoth
1ac472c676 Urls will now properly work in embeds. Fixes #306 2021-09-27 10:52:14 +02:00
Kwoth
a09be96200 Added DmHelpTextKeywords to data/bot.yml
- Bot now sends dm help text ONLY if the message contains one of the keywords specified
  - If no keywords are specified, bot will reply to every DM (like before)
- Fixed several commands which used error color for success confirmation messages
2021-09-16 22:52:04 +02:00
Kwoth
81254ed5f6 Added %server.boosters% and %server.boost_level% placeholders 2021-09-16 19:22:05 +02:00
Kwoth
3edcca4927 Updated CHANGELOG.md, removed an unused enum 2021-09-15 01:30:26 +02:00
Kwoth
919bedeae6 Changed (almost) all responses to make them use the new system instead of raw strings
- Fixed many invalid string keys
2021-09-06 21:34:53 +02:00
Kwoth
0115d35247 WIP: rework of localized strings, instead of generic LocStr, LocStr is now a struct which contains both the key, and the values which should be put into the value's placeholders. strs' properties are now methods which take values as arguments, and properties if they don't 2021-09-06 21:34:53 +02:00
Kwoth
9d375dccee wip strings rework, experimenting, nothing works 2021-09-06 21:34:52 +02:00
Kwoth
70288f7670 Second iteration of source generated localized strings
- Strs renamed to strs
- Generic params will now default to object instead of string for convenient argument passing
- Many strings changed to use generated properties
2021-09-06 21:34:52 +02:00
Kwoth
34d0f66466 - Added NadekoBot.Generators projects which will contain source generators
- Implemented initial version of the response strings source generator
  - Creates a class with property names equivalent to key names in responses.en-US.json
  - Each Property has struct type (with generic type parameters matching the number of string format placeholders) for type safe GetText implementation
  - Struct types are readonly refs as they should be ephermal, and only used to pass string keys to GetText
2021-09-06 21:34:52 +02:00
Kwoth
71da4d11c0 - Removed static color fields
- Removed unused code
- BanTemplate will get error color from bot config
2021-09-06 21:34:52 +02:00
Kwoth
8fb7239100 - Updated creds_example.yml
- Added credentials.json -> creds.yml migration
- Migrated credentials.json fields are:
  - Token
  - OwnerIds
  - GoogleApiKey
  - OsuApiKey
  - CleverbotApiKey
  - TotalShards (although you should set this from Coordinator's coord.yml TotalShards, so this setting will usually have no effect)
  - PatreonAccessToken and PatreonCampaignId
  - VotesUrl and VotesToken
  - BotListToken
  - RedisOptions
  - LocationIqApiKey and TimezoneDbApiKey
  - CoinmarketcapApiKey
2021-09-06 21:34:51 +02:00
Kwoth
0b71e9c28f - Removed some duplicated code from custom reactions
- CREmbed completely removed and replaced by SmartText
2021-09-06 21:34:51 +02:00
Kwoth
468bc5324d - Fixed calls to SendAsync - they don't require EmbedBuilderService
- DmHelpText now uses smarttext and supports user-related placeholders
2021-09-06 21:34:51 +02:00
Kwoth
373e9e920d - .say replacement fix
- .send and .qid now use smarttext instead of crembed
- added + operator for adding string to smarttext
2021-09-06 21:34:51 +02:00
Kwoth
0064df8ae4 - .say now uses new SmartText instead of CREmbed
- Added IMessageChannel extensions for sending smarttext
- Added implicit operator from string to smarttext (which just creates smartplaintext instance)
2021-09-06 21:34:51 +02:00
Kwoth
236c286278 Added SmartText and inheritors SmartPlainText and SmartEmbedText which will replace CREmbed in the future 2021-09-06 21:34:51 +02:00
Kwoth
5e4754fa40 - Reworked embed builder
- Use IEmbedBuilderService to create embed builders
- Wrapped embed builder and using IEmbedBuilder
2021-09-06 21:34:51 +02:00
Kwoth
a17d0afc7d all calls to .WithAuthor and .WithFooter no longer use their respective builders 2021-09-06 21:34:50 +02:00
Kwoth
cbecd823c1 Cleaned up embedbuilder calls to use parameters instead of footer builder 2021-09-06 21:34:50 +02:00
Kwoth
ac9f84715b - Recreated cleanup migration with discorduser default values
- Using LinqToDb UpdateOrInsert for .EnsureUserCreated
2021-09-06 21:34:50 +02:00
Kwoth
0fc5f540d8 - Added Cloneable deep clone source generator nuget package
- Configs are no cloned using generated clone, not by serializing/deserializing
- Arrays/Lists (collections in geneeral) are still not cloned properly
- Removed GetRawData from config as it is no longer needed, new clone is very fast
- Added ICloneable<T> which all configs implement
- Cleaned up config classes/code
2021-09-06 21:34:50 +02:00
Kwoth
a8a4c9fb44 - NoPublicBotAttribute will now be properly ignored when built with GlobalNadeko configuration
- Added ILogCommandsService which will have dummy implementation on public bot, this means Logging Commands will be present on public bot to pull up help etc
- When .ve is enabled, NoPublicBot commands will show a nicer error message with link to selfhosting guide (thx ene)
- Fixed xp gain and .xp command not working on new users
- General cleanup
2021-09-06 21:34:50 +02:00
Kwoth
fd35d3a836 - Cleaned up completed todos
- Config Data won't be copied every time it's accessed now, but YamlDotNet doesnt' support records, so data is dangerously mutable, needs solution
2021-09-06 21:34:50 +02:00
Kwoth
4c0c3c9228 Refactored typereaders to use DI instead of getting services manually 2021-09-06 21:34:50 +02:00
Kwoth
3cc34bfdc3 Changed all .GetService to .GetRequiredService because no service should be ever missing. However most of these should be removed in one of the future patches. 2021-09-06 21:34:50 +02:00
Kwoth
aeb6f8662c Early behavior fixups:
- Priorities are now higher number -> higher priority
- Priorities are now actually respected
- Early behaviors now print custom messages when they perform an action (Filter trigger, blacklist, poll vote, etc)
- small cleanup
2021-09-06 21:34:50 +02:00
Kwoth
65b4c1fab7 - Owner only attributes will now use fresh creds every time (no need for restart for owner only commands to start working once creds are changed)
- setgame/setstream use the new pubsub (also setstream will actually apply to all shards now)
- setgame/setstream moved to SelfService
- small cleanup
2021-09-06 21:34:49 +02:00
Kwoth
3c82c1f919 - Started cleanup of command handler
- Removed IUnloadableService
- Started removing INService (removed it from services which implement behavior interfaces) - wip
- Added scrutor for better service registration - wip
2021-09-06 21:34:49 +02:00
Kwoth
1e90d7f7bb Small cleanup - fixed some namespaces and moved files 2021-09-06 21:34:49 +02:00
Kwoth
670b0aca96 - Bot now takes shard id (optional) and total shards (optional) command line arguments (changed from shard id and parent process id)
- Sharding with coordinator now works properly
- Documented creds.yml RestartCommand - it has no effect when coordinator is starting the bot
- Regenerated creds_example.yml
- Removed all db migrators as the v3 requires the user to have updated 2.x all the way
- TotalShards in creds.yml gets overriden by coord.yml's TotalShards if the bot is ran through coordinator (more precisely, by the command line argument to the bot)
- Coordinator now runs on http://localhost:3442 by default, you can change this in appsettings.json
    - This is done because of macos https issues
    - Primarily because https for regular users is a massive hassle. Coordinator shouldn't be exposed anyway
- Minor cleanup
2021-09-06 21:34:49 +02:00
Kwoth
a1ef862382 - small bot.cs cleanup
- creds.yml now loads and reloads properly (from the current directory, like credentials.json)
- added empty creds.yml to repo, and added it to .gitignore
2021-09-06 21:34:49 +02:00
Kwoth
16dd398aa0 - Credentials are now loading from creds.yml
- Removed/commented out obsolete credentials code
- Added missing properties to creds.yml
- Updated README.md with some tasks and progress
2021-09-06 21:34:49 +02:00
Kwoth
78d077ce71 Added initial model for future migration to creds.yml 2021-09-06 21:34:49 +02:00
Kwoth
49f9b96755 One of the last major cleanups. All NadekoBot.Core.* namespaces renamed to NadekoBot.* 2021-09-06 21:34:48 +02:00