Added SendChannelMessage
This commit is contained in:
parent
e9b353527f
commit
17dceda408
1 changed files with 18 additions and 12 deletions
|
@ -147,12 +147,23 @@ namespace Lieb.Data
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task SendChannelReminder(RaidReminder reminder)
|
public async Task SendChannelReminder(RaidReminder reminder)
|
||||||
|
{
|
||||||
|
if (await SendChannelMessage(reminder.DiscordServerId, reminder.DiscordChannelId, reminder.Message))
|
||||||
|
{
|
||||||
|
reminder.Sent = true;
|
||||||
|
using var context = _contextFactory.CreateDbContext();
|
||||||
|
context.Update(reminder);
|
||||||
|
await context.SaveChangesAsync();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<bool> SendChannelMessage(ulong discordServerId, ulong discordChannelId, string message)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var httpClient = _httpClientFactory.CreateClient(Constants.HttpClientName);
|
var httpClient = _httpClientFactory.CreateClient(Constants.HttpClientName);
|
||||||
|
|
||||||
ApiChannelReminder apiReminder = ConvertChannelReminder(reminder);
|
ApiChannelReminder apiReminder = ConvertChannelReminder(discordServerId, discordChannelId, message);
|
||||||
|
|
||||||
var raidItemJson = new StringContent(
|
var raidItemJson = new StringContent(
|
||||||
JsonSerializer.Serialize(apiReminder),
|
JsonSerializer.Serialize(apiReminder),
|
||||||
|
@ -161,15 +172,10 @@ namespace Lieb.Data
|
||||||
|
|
||||||
var httpResponseMessage = await httpClient.PostAsync("raid/SendChannelReminder", raidItemJson);
|
var httpResponseMessage = await httpClient.PostAsync("raid/SendChannelReminder", raidItemJson);
|
||||||
|
|
||||||
if (httpResponseMessage.IsSuccessStatusCode)
|
return httpResponseMessage.IsSuccessStatusCode;
|
||||||
{
|
|
||||||
reminder.Sent = true;
|
|
||||||
using var context = _contextFactory.CreateDbContext();
|
|
||||||
context.Update(reminder);
|
|
||||||
await context.SaveChangesAsync();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch {}
|
catch {}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task UpdateDiscordMessages(IEnumerable<ApiRaid.DiscordMessage> messages, Raid raid)
|
private async Task UpdateDiscordMessages(IEnumerable<ApiRaid.DiscordMessage> messages, Raid raid)
|
||||||
|
@ -275,13 +281,13 @@ namespace Lieb.Data
|
||||||
return apiReminder;
|
return apiReminder;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ApiChannelReminder ConvertChannelReminder(RaidReminder reminder)
|
private ApiChannelReminder ConvertChannelReminder(ulong discordServerId, ulong discordChannelId, string message)
|
||||||
{
|
{
|
||||||
return new ApiChannelReminder()
|
return new ApiChannelReminder()
|
||||||
{
|
{
|
||||||
DiscordServerId = reminder.DiscordServerId,
|
DiscordServerId = discordServerId,
|
||||||
DiscordChannelId = reminder.DiscordChannelId,
|
DiscordChannelId = discordChannelId,
|
||||||
Message = reminder.Message
|
Message = message
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue