feat: added auth for telegram stage

This commit is contained in:
2025-07-16 20:34:29 +03:00
parent bae7a0267d
commit fcdc4476df
9 changed files with 68 additions and 14 deletions

View File

@@ -1,3 +1,4 @@
using JOBot.Proto;
using JOBot.TClient.Services;
using Telegram.Bot.Types;
using User = JOBot.Proto.User;
@@ -21,27 +22,33 @@ public class PrepareUserState(PrepareUserService prepareUserService, MenuService
return; //interrupt while eula isn't accepted
}
await OnUserEulaValidStage(update, ct);
await OnUserEulaValidStage(user, update, ct);
}
/// <summary>
/// Signal for accepted eula
/// </summary>
/// <param name="user"></param>
/// <param name="update"></param>
/// <param name="ct"></param>
public async Task AcceptEula(Update update, CancellationToken ct = default)
public async Task AcceptEula(GetUserResponse user, Update update, CancellationToken ct = default)
{
await prepareUserService.AcceptEula(update, ct: ct);
await OnUserEulaValidStage(update, ct);
await OnUserEulaValidStage(user, update, ct);
}
/// <summary>
/// Continue prepare stage
/// </summary>
/// <param name="user"></param>
/// <param name="update"></param>
/// <param name="ct"></param>
private async Task OnUserEulaValidStage(Update update, CancellationToken ct = default)
private async Task OnUserEulaValidStage(GetUserResponse user, Update update, CancellationToken ct = default)
{
if (!user.IsLogged)
{
prepareUserService.Auth(update, ct);
}
await menuService.RenderMenu(update, ct); //boilerplate
}
}