Я почти уверен, что await arg2.SendMessageAsync("", embed: eb);
выдаст вам ошибку, поэтому замените ее на eb.Build (), это похоже на StringBuilder, вам нужно будет также выполнить ToString в конце.Что касается другой части, она выглядит довольно прилично, но вы можете столкнуться с проблемами ограничения скорости, поскольку с помощью бота вы можете массово удалить, что приведет к отправке вашего кода для каждого сообщения, удаляющего новое.Вам нужно будет использовать систему обнаружения массовых удалений, поскольку сама Discord управляет массовым удалением, например, удаляя каждое сообщение одно за другим.
Обратите внимание, что вы также можете сделать это: eb.AddField("Message:", msg.Content or msg.ToString());
вместо eb.AddField("Message:", $"{msg}");
.