mirror of
https://gitlab.com/Kwoth/nadekobot.git
synced 2025-09-10 09:18:27 -04:00
Added bot_owner_only attribute to medusa system. Upped version to 4..3.11
This commit is contained in:
32
CHANGELOG.md
32
CHANGELOG.md
@@ -2,6 +2,38 @@
|
||||
|
||||
Experimental changelog. Mostly based on [keepachangelog](https://keepachangelog.com/en/1.0.0/) except date format. a-c-f-r-o
|
||||
|
||||
## [4.3.11] - 21.01.2023
|
||||
|
||||
### Added
|
||||
|
||||
- Added `.doas` Bot owner only command
|
||||
- Added `.stickeradd` command
|
||||
|
||||
### Changed
|
||||
|
||||
- `.waifuinfo` optimized
|
||||
- You can now specify an optional custom message in `.feed` and `.yun` which will be posted along with an update
|
||||
- Greet/bye messages will now get disabled if they're set to a deleted/unknown channel
|
||||
- Updated response strings
|
||||
- `.translate` now supports many more languages
|
||||
- `.translangs` prettier output
|
||||
|
||||
### Fixed
|
||||
|
||||
- Added logging for thread events
|
||||
- Fixed a bug for `.quotedeleteauthor` causing the executing user to delete own messages
|
||||
- Fixed TimeOut punishment not alklowing duration
|
||||
- Fixed a nullref in streamrole service
|
||||
- Fixed some potential causes for ratelimit due to default message retry settings
|
||||
- Fixed a patron rewards bug caused by monthly donation checking not accounting for year increase
|
||||
- Fixed a patron rewards bug for users who connected the same discord account with multiple patreon accounts
|
||||
- `.deletecurrency` will now also reset banked currency
|
||||
- Fixed DMHelpText reply
|
||||
- `.h` command show now properly show both channel and server user permission requirements
|
||||
- Many fixes and improvements to medusa system
|
||||
- Fixed trivia --nohint
|
||||
- `.joinrace` will no longer fail if the user isn't in the database yet
|
||||
|
||||
## [4.3.10] - 10.11.2022
|
||||
|
||||
### Added
|
||||
|
7
src/Nadeko.Medusa/Attributes/bot_owner_onlyAttribute.cs
Normal file
7
src/Nadeko.Medusa/Attributes/bot_owner_onlyAttribute.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace Nadeko.Snake;
|
||||
|
||||
[AttributeUsage(AttributeTargets.Method)]
|
||||
public sealed class bot_owner_onlyAttribute : MedusaPermAttribute
|
||||
{
|
||||
|
||||
}
|
@@ -434,6 +434,10 @@ public sealed class MedusaLoaderService : IMedusaLoaderService, IReadyExecutor,
|
||||
else if (bp.ChannelPerm is { } cp)
|
||||
cb.AddPrecondition(new BotPermAttribute(cp));
|
||||
}
|
||||
else if (ubp is bot_owner_onlyAttribute)
|
||||
{
|
||||
cb.AddPrecondition(new OwnerOnlyAttribute());
|
||||
}
|
||||
}
|
||||
|
||||
cb.WithPriority(cmd.Priority);
|
||||
|
@@ -1,143 +0,0 @@
|
||||
using System.Globalization;
|
||||
using System.Reflection;
|
||||
|
||||
namespace Nadeko.Medusa;
|
||||
|
||||
public sealed class TypeWrapper : Type
|
||||
{
|
||||
private readonly int _hashCode;
|
||||
|
||||
public TypeWrapper(Type t)
|
||||
{
|
||||
_hashCode = t.GetHashCode();
|
||||
Namespace = t.Namespace;
|
||||
Name = t.Name;
|
||||
FullName = t.FullName;
|
||||
IsGenericType = t.IsGenericType;
|
||||
IsConstructedGenericType = t.IsConstructedGenericType;
|
||||
}
|
||||
|
||||
public override bool IsGenericType { get; }
|
||||
public override bool IsConstructedGenericType { get; }
|
||||
|
||||
public override object[] GetCustomAttributes(bool inherit)
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
public override object[] GetCustomAttributes(Type attributeType, bool inherit)
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
public override bool IsDefined(Type attributeType, bool inherit)
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
public override Module Module { get; }
|
||||
public override string? Namespace { get; }
|
||||
public override string Name { get; }
|
||||
|
||||
protected override TypeAttributes GetAttributeFlagsImpl()
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
protected override ConstructorInfo? GetConstructorImpl(
|
||||
BindingFlags bindingAttr,
|
||||
Binder? binder,
|
||||
CallingConventions callConvention,
|
||||
Type[] types,
|
||||
ParameterModifier[]? modifiers)
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
public override ConstructorInfo[] GetConstructors(BindingFlags bindingAttr)
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
public override Type? GetElementType()
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
public override EventInfo? GetEvent(string name, BindingFlags bindingAttr)
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
public override EventInfo[] GetEvents(BindingFlags bindingAttr)
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
public override FieldInfo? GetField(string name, BindingFlags bindingAttr)
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
public override FieldInfo[] GetFields(BindingFlags bindingAttr)
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
public override MemberInfo[] GetMembers(BindingFlags bindingAttr)
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
protected override MethodInfo? GetMethodImpl(
|
||||
string name,
|
||||
BindingFlags bindingAttr,
|
||||
Binder? binder,
|
||||
CallingConventions callConvention,
|
||||
Type[]? types,
|
||||
ParameterModifier[]? modifiers)
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
public override MethodInfo[] GetMethods(BindingFlags bindingAttr)
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
public override PropertyInfo[] GetProperties(BindingFlags bindingAttr)
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
public override object? InvokeMember(
|
||||
string name,
|
||||
BindingFlags invokeAttr,
|
||||
Binder? binder,
|
||||
object? target,
|
||||
object?[]? args,
|
||||
ParameterModifier[]? modifiers,
|
||||
CultureInfo? culture,
|
||||
string[]? namedParameters)
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
public override Type UnderlyingSystemType { get; }
|
||||
|
||||
protected override bool IsArrayImpl()
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
protected override bool IsByRefImpl()
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
protected override bool IsCOMObjectImpl()
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
protected override bool IsPointerImpl()
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
protected override bool IsPrimitiveImpl()
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
public override Assembly Assembly { get; }
|
||||
public override string? AssemblyQualifiedName { get; }
|
||||
public override Type? BaseType { get; }
|
||||
public override string? FullName { get; }
|
||||
public override Guid GUID { get; }
|
||||
|
||||
protected override PropertyInfo? GetPropertyImpl(
|
||||
string name,
|
||||
BindingFlags bindingAttr,
|
||||
Binder? binder,
|
||||
Type? returnType,
|
||||
Type[]? types,
|
||||
ParameterModifier[]? modifiers)
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
protected override bool HasElementTypeImpl()
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
public override Type? GetNestedType(string name, BindingFlags bindingAttr)
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
public override Type[] GetNestedTypes(BindingFlags bindingAttr)
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
public override int GetHashCode()
|
||||
=> _hashCode;
|
||||
|
||||
public override Type? GetInterface(string name, bool ignoreCase)
|
||||
=> throw new NotImplementedException();
|
||||
|
||||
public override Type[] GetInterfaces()
|
||||
=> throw new NotImplementedException();
|
||||
}
|
@@ -7,7 +7,7 @@ namespace NadekoBot.Services;
|
||||
|
||||
public sealed class StatsService : IStatsService, IReadyExecutor, INService
|
||||
{
|
||||
public const string BOT_VERSION = "4.3.10";
|
||||
public const string BOT_VERSION = "4.3.11";
|
||||
|
||||
public string Author
|
||||
=> "Kwoth#2452";
|
||||
|
Reference in New Issue
Block a user