mirror of
https://gitlab.com/Kwoth/nadekobot.git
synced 2025-09-10 01:08:26 -04:00
fix: global nadeko captcha patron add will show 12.5% of the time now, down from 20%, and be smaller
change: increased todo and archive limits slightly
This commit is contained in:
@@ -168,9 +168,9 @@ public partial class Gambling : GamblingModule<GamblingService>
|
||||
.File(stream, "timely.png");
|
||||
|
||||
#if GLOBAL_NADEKO
|
||||
if (_rng.Next(0, 5) == 0)
|
||||
if (_rng.Next(0, 8) == 0)
|
||||
toSend = toSend
|
||||
.Confirm("[Sub on Patreon](https://patreon.com/nadekobot) to remove captcha.");
|
||||
.Text("*[Sub on Patreon](https://patreon.com/nadekobot) to remove captcha.*");
|
||||
#endif
|
||||
|
||||
var captchaMessage = await toSend.SendAsync();
|
||||
|
@@ -33,9 +33,9 @@ public partial class Games
|
||||
.File(stream, "timely.png");
|
||||
|
||||
#if GLOBAL_NADEKO
|
||||
if (_rng.Next(0, 5) == 0)
|
||||
if (_rng.Next(0, 8) == 0)
|
||||
toSend = toSend
|
||||
.Confirm("[Sub on Patreon](https://patreon.com/nadekobot) to remove captcha.");
|
||||
.Text("*[Sub on Patreon](https://patreon.com/nadekobot) to remove captcha.*");
|
||||
#endif
|
||||
var captcha = await toSend.SendAsync();
|
||||
|
||||
|
@@ -150,7 +150,26 @@ public partial class Utility
|
||||
[Cmd]
|
||||
public async Task TodoArchiveAdd([Leftover] string name)
|
||||
{
|
||||
var result = await _service.ArchiveTodosAsync(ctx.User.Id, name);
|
||||
var result = await _service.ArchiveTodosAsync(ctx.User.Id, name, false);
|
||||
if (result == ArchiveTodoResult.NoTodos)
|
||||
{
|
||||
await Response().Error(strs.todo_no_todos).SendAsync();
|
||||
return;
|
||||
}
|
||||
|
||||
if (result == ArchiveTodoResult.MaxLimitReached)
|
||||
{
|
||||
await Response().Error(strs.todo_archive_max_limit).SendAsync();
|
||||
return;
|
||||
}
|
||||
|
||||
await ctx.OkAsync();
|
||||
}
|
||||
|
||||
[Cmd]
|
||||
public async Task TodoArchiveDone([Leftover] string name)
|
||||
{
|
||||
var result = await _service.ArchiveTodosAsync(ctx.User.Id, name, true);
|
||||
if (result == ArchiveTodoResult.NoTodos)
|
||||
{
|
||||
await Response().Error(strs.todo_no_todos).SendAsync();
|
||||
@@ -193,7 +212,7 @@ public partial class Utility
|
||||
|
||||
foreach (var archivedList in items)
|
||||
{
|
||||
eb.AddField($"id: {archivedList.Id.ToString()}", archivedList.Name, true);
|
||||
eb.AddField($"id: {new kwum(archivedList.Id)}", archivedList.Name, true);
|
||||
}
|
||||
|
||||
return eb;
|
||||
@@ -202,7 +221,7 @@ public partial class Utility
|
||||
}
|
||||
|
||||
[Cmd]
|
||||
public async Task TodoArchiveShow(int id)
|
||||
public async Task TodoArchiveShow(kwum id)
|
||||
{
|
||||
var list = await _service.GetArchivedTodoListAsync(ctx.User.Id, id);
|
||||
if (list == null || list.Items.Count == 0)
|
||||
@@ -234,7 +253,7 @@ public partial class Utility
|
||||
}
|
||||
|
||||
[Cmd]
|
||||
public async Task TodoArchiveDelete(int id)
|
||||
public async Task TodoArchiveDelete(kwum id)
|
||||
{
|
||||
if (!await _service.ArchiveDeleteAsync(ctx.User.Id, id))
|
||||
{
|
||||
|
@@ -6,8 +6,8 @@ namespace NadekoBot.Modules.Utility;
|
||||
|
||||
public sealed class TodoService : INService
|
||||
{
|
||||
private const int ARCHIVE_MAX_COUNT = 9;
|
||||
private const int TODO_MAX_COUNT = 27;
|
||||
private const int ARCHIVE_MAX_COUNT = 18;
|
||||
private const int TODO_MAX_COUNT = 36;
|
||||
|
||||
private readonly DbService _db;
|
||||
|
||||
@@ -111,7 +111,7 @@ public sealed class TodoService : INService
|
||||
.DeleteAsync();
|
||||
}
|
||||
|
||||
public async Task<ArchiveTodoResult> ArchiveTodosAsync(ulong userId, string name)
|
||||
public async Task<ArchiveTodoResult> ArchiveTodosAsync(ulong userId, string name, bool onlyDone)
|
||||
{
|
||||
// create a new archive
|
||||
|
||||
@@ -140,7 +140,7 @@ public sealed class TodoService : INService
|
||||
|
||||
var updated = await ctx
|
||||
.GetTable<TodoModel>()
|
||||
.Where(x => x.UserId == userId && x.ArchiveId == null)
|
||||
.Where(x => x.UserId == userId && (!onlyDone || x.IsDone) && x.ArchiveId == null)
|
||||
.Set(x => x.ArchiveId, inserted.Id)
|
||||
.UpdateAsync();
|
||||
|
||||
@@ -204,4 +204,5 @@ public sealed class TodoService : INService
|
||||
.Where(x => x.UserId == userId && x.Id == todoId)
|
||||
.FirstOrDefaultAsyncLinqToDB();
|
||||
}
|
||||
|
||||
}
|
@@ -1441,6 +1441,11 @@ todoarchivedelete:
|
||||
- del
|
||||
- remove
|
||||
- rm
|
||||
todoarchivedone:
|
||||
- done
|
||||
- compelete
|
||||
- finish
|
||||
- completed
|
||||
todoedit:
|
||||
- edit
|
||||
- change
|
||||
|
@@ -4524,6 +4524,13 @@ todoarchiveadd:
|
||||
params:
|
||||
- name:
|
||||
desc: "The name of the archive to be created."
|
||||
todoarchivedone:
|
||||
desc: Creates a new archive with the specified name using only completed current todos.
|
||||
ex:
|
||||
- Success!
|
||||
params:
|
||||
- name:
|
||||
desc: "The name of the archive to be created."
|
||||
todoarchivelist:
|
||||
desc: Lists all archived todo lists.
|
||||
ex:
|
||||
|
Reference in New Issue
Block a user