Repeater and Greet services are now using smarttext instead of crembed

This commit is contained in:
Kwoth
2021-07-12 02:26:31 +02:00
parent 468bc5324d
commit dc6d17eee7
2 changed files with 28 additions and 92 deletions

View File

@@ -259,18 +259,12 @@ where ((guildid >> 22) % {_creds.TotalShards}) == {_client.ShardId};")
try try
{ {
IMessage newMsg; var text = SmartText.CreateFrom(repeater.Message);
if (CREmbed.TryParse(repeater.Message, out var crEmbed)) text = rep.Replace(text);
{
rep.Replace(crEmbed);
newMsg = await channel.EmbedAsync(crEmbed, _eb);
}
else
{
newMsg = await channel.SendMessageAsync(rep.Replace(repeater.Message));
}
var newMsg = await channel.SendAsync(text);
_ = newMsg.AddReactionAsync(new Emoji("🔄")); _ = newMsg.AddReactionAsync(new Emoji("🔄"));
if (_noRedundant.Contains(repeater.Id)) if (_noRedundant.Contains(repeater.Id))
{ {
await SetRepeaterLastMessageInternal(repeater.Id, newMsg.Id); await SetRepeaterLastMessageInternal(repeater.Id, newMsg.Id);

View File

@@ -139,12 +139,11 @@ namespace NadekoBot.Services
.WithManyUsers(users) .WithManyUsers(users)
.Build(); .Build();
if (CREmbed.TryParse(conf.ChannelByeMessageText, out var embedData)) var text = SmartText.CreateFrom(conf.ChannelByeMessageText);
{ text = rep.Replace(text);
rep.Replace(embedData);
try try
{ {
var toDelete = await channel.EmbedAsync(embedData, _eb).ConfigureAwait(false); var toDelete = await channel.SendAsync(text);
if (conf.AutoDeleteByeMessagesTimer > 0) if (conf.AutoDeleteByeMessagesTimer > 0)
{ {
toDelete.DeleteAfter(conf.AutoDeleteByeMessagesTimer); toDelete.DeleteAfter(conf.AutoDeleteByeMessagesTimer);
@@ -155,25 +154,6 @@ namespace NadekoBot.Services
Log.Warning(ex, "Error embeding bye message"); Log.Warning(ex, "Error embeding bye message");
} }
} }
else
{
var msg = rep.Replace(conf.ChannelByeMessageText);
if (string.IsNullOrWhiteSpace(msg))
return;
try
{
var toDelete = await channel.SendMessageAsync(msg.SanitizeMentions()).ConfigureAwait(false);
if (conf.AutoDeleteByeMessagesTimer > 0)
{
toDelete.DeleteAfter(conf.AutoDeleteByeMessagesTimer);
}
}
catch (Exception ex)
{
Log.Warning(ex, "Error sending bye message");
}
}
}
private Task GreetUsers(GreetSettings conf, ITextChannel channel, IGuildUser user) private Task GreetUsers(GreetSettings conf, ITextChannel channel, IGuildUser user)
=> GreetUsers(conf, channel, new[] {user}); => GreetUsers(conf, channel, new[] {user});
@@ -190,12 +170,11 @@ namespace NadekoBot.Services
.WithManyUsers(users) .WithManyUsers(users)
.Build(); .Build();
if (CREmbed.TryParse(conf.ChannelGreetMessageText, out var embedData)) var text = SmartText.CreateFrom(conf.ChannelGreetMessageText);
{ text = rep.Replace(text);
rep.Replace(embedData);
try try
{ {
var toDelete = await channel.EmbedAsync(embedData, _eb).ConfigureAwait(false); var toDelete = await channel.SendAsync(text).ConfigureAwait(false);
if (conf.AutoDeleteGreetMessagesTimer > 0) if (conf.AutoDeleteGreetMessagesTimer > 0)
{ {
toDelete.DeleteAfter(conf.AutoDeleteGreetMessagesTimer); toDelete.DeleteAfter(conf.AutoDeleteGreetMessagesTimer);
@@ -206,26 +185,6 @@ namespace NadekoBot.Services
Log.Warning(ex, "Error embeding greet message"); Log.Warning(ex, "Error embeding greet message");
} }
} }
else
{
var msg = rep.Replace(conf.ChannelGreetMessageText);
if (!string.IsNullOrWhiteSpace(msg))
{
try
{
var toDelete = await channel.SendMessageAsync(msg.SanitizeMentions()).ConfigureAwait(false);
if (conf.AutoDeleteGreetMessagesTimer > 0)
{
toDelete.DeleteAfter(conf.AutoDeleteGreetMessagesTimer);
}
}
catch (Exception ex)
{
Log.Warning(ex, "Error sending greet message");
}
}
}
}
private async Task<bool> GreetDmUser(GreetSettings conf, IDMChannel channel, IGuildUser user) private async Task<bool> GreetDmUser(GreetSettings conf, IDMChannel channel, IGuildUser user)
{ {
@@ -233,33 +192,16 @@ namespace NadekoBot.Services
.WithDefault(user, channel, (SocketGuild)user.Guild, _client) .WithDefault(user, channel, (SocketGuild)user.Guild, _client)
.Build(); .Build();
if (CREmbed.TryParse(conf.DmGreetMessageText, out var embedData)) var text = SmartText.CreateFrom(conf.DmGreetMessageText);
{ rep.Replace(text);
rep.Replace(embedData);
try try
{ {
await channel.EmbedAsync(embedData, _eb).ConfigureAwait(false); await channel.SendAsync(text).ConfigureAwait(false);
} }
catch catch
{ {
return false; return false;
} }
}
else
{
var msg = rep.Replace(conf.DmGreetMessageText);
if (!string.IsNullOrWhiteSpace(msg))
{
try
{
await channel.SendConfirmAsync(_eb, msg).ConfigureAwait(false);
}
catch
{
return false;
}
}
}
return true; return true;
} }