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
{
IMessage newMsg;
if (CREmbed.TryParse(repeater.Message, out var crEmbed))
{
rep.Replace(crEmbed);
newMsg = await channel.EmbedAsync(crEmbed, _eb);
}
else
{
newMsg = await channel.SendMessageAsync(rep.Replace(repeater.Message));
}
var text = SmartText.CreateFrom(repeater.Message);
text = rep.Replace(text);
var newMsg = await channel.SendAsync(text);
_ = newMsg.AddReactionAsync(new Emoji("🔄"));
if (_noRedundant.Contains(repeater.Id))
{
await SetRepeaterLastMessageInternal(repeater.Id, newMsg.Id);

View File

@@ -139,39 +139,19 @@ namespace NadekoBot.Services
.WithManyUsers(users)
.Build();
if (CREmbed.TryParse(conf.ChannelByeMessageText, out var embedData))
var text = SmartText.CreateFrom(conf.ChannelByeMessageText);
text = rep.Replace(text);
try
{
rep.Replace(embedData);
try
var toDelete = await channel.SendAsync(text);
if (conf.AutoDeleteByeMessagesTimer > 0)
{
var toDelete = await channel.EmbedAsync(embedData, _eb).ConfigureAwait(false);
if (conf.AutoDeleteByeMessagesTimer > 0)
{
toDelete.DeleteAfter(conf.AutoDeleteByeMessagesTimer);
}
}
catch (Exception ex)
{
Log.Warning(ex, "Error embeding bye message");
toDelete.DeleteAfter(conf.AutoDeleteByeMessagesTimer);
}
}
else
catch (Exception ex)
{
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");
}
Log.Warning(ex, "Error embeding bye message");
}
}
@@ -190,40 +170,19 @@ namespace NadekoBot.Services
.WithManyUsers(users)
.Build();
if (CREmbed.TryParse(conf.ChannelGreetMessageText, out var embedData))
var text = SmartText.CreateFrom(conf.ChannelGreetMessageText);
text = rep.Replace(text);
try
{
rep.Replace(embedData);
try
var toDelete = await channel.SendAsync(text).ConfigureAwait(false);
if (conf.AutoDeleteGreetMessagesTimer > 0)
{
var toDelete = await channel.EmbedAsync(embedData, _eb).ConfigureAwait(false);
if (conf.AutoDeleteGreetMessagesTimer > 0)
{
toDelete.DeleteAfter(conf.AutoDeleteGreetMessagesTimer);
}
}
catch (Exception ex)
{
Log.Warning(ex, "Error embeding greet message");
toDelete.DeleteAfter(conf.AutoDeleteGreetMessagesTimer);
}
}
else
catch (Exception ex)
{
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");
}
}
Log.Warning(ex, "Error embeding greet message");
}
}
@@ -232,33 +191,16 @@ namespace NadekoBot.Services
var rep = new ReplacementBuilder()
.WithDefault(user, channel, (SocketGuild)user.Guild, _client)
.Build();
if (CREmbed.TryParse(conf.DmGreetMessageText, out var embedData))
var text = SmartText.CreateFrom(conf.DmGreetMessageText);
rep.Replace(text);
try
{
rep.Replace(embedData);
try
{
await channel.EmbedAsync(embedData, _eb).ConfigureAwait(false);
}
catch
{
return false;
}
await channel.SendAsync(text).ConfigureAwait(false);
}
else
catch
{
var msg = rep.Replace(conf.DmGreetMessageText);
if (!string.IsNullOrWhiteSpace(msg))
{
try
{
await channel.SendConfirmAsync(_eb, msg).ConfigureAwait(false);
}
catch
{
return false;
}
}
return false;
}
return true;