readds localchat support not being able see replys in local was dumb

This commit is contained in:
Madpeter 2020-05-11 10:53:52 +01:00
parent a32b74e2cc
commit ef7e1e2392
3 changed files with 30 additions and 10 deletions

View file

@ -103,6 +103,10 @@ namespace BSB.bottypes
{ {
display_topic = "Actions -> !clear"; display_topic = "Actions -> !clear";
} }
else if (channelname == "localchat")
{
display_topic = "Actions -> !clear";
}
else if (sender_id == UUID.Zero.ToString()) else if (sender_id == UUID.Zero.ToString())
{ {
display_topic = "" + myconfig.userName + " #" + MyVersion + ""; display_topic = "" + myconfig.userName + " #" + MyVersion + "";
@ -115,7 +119,6 @@ namespace BSB.bottypes
{ {
display_topic = "" + channeltopictype + ":" + sender_id + ": Actions -> !clear, !close"; display_topic = "" + channeltopictype + ":" + sender_id + ": Actions -> !clear, !close";
} }
IGuildChannel channel = await DiscordServer.CreateTextChannelAsync(channelname, X => DiscordGetNewChannelProperies(X, channelname, display_topic, channeltopictype.ToLowerInvariant())); IGuildChannel channel = await DiscordServer.CreateTextChannelAsync(channelname, X => DiscordGetNewChannelProperies(X, channelname, display_topic, channeltopictype.ToLowerInvariant()));
ITextChannel Txtchan = await DiscordServer.GetTextChannelAsync(channel.Id); ITextChannel Txtchan = await DiscordServer.GetTextChannelAsync(channel.Id);
return Txtchan; return Txtchan;
@ -151,7 +154,7 @@ namespace BSB.bottypes
ICategoryChannel newcat = await DiscordServer.CreateCategoryAsync(A).ConfigureAwait(true); ICategoryChannel newcat = await DiscordServer.CreateCategoryAsync(A).ConfigureAwait(true);
catmap.Add(A, newcat); catmap.Add(A, newcat);
} }
List<string> required_channels = new List<string>() { "status", "interface" }; List<string> required_channels = new List<string>() { "status", "interface","localchat" };
IReadOnlyCollection<ITextChannel> found_chans = await DiscordServer.GetTextChannelsAsync(CacheMode.AllowDownload); IReadOnlyCollection<ITextChannel> found_chans = await DiscordServer.GetTextChannelsAsync(CacheMode.AllowDownload);
List<string> GroupChannels = new List<string>(); List<string> GroupChannels = new List<string>();
foreach (ITextChannel chan in found_chans) foreach (ITextChannel chan in found_chans)

View file

@ -10,6 +10,11 @@ namespace BSB.bottypes
{ {
public abstract class DiscordBotInbound : DiscordBotRelay public abstract class DiscordBotInbound : DiscordBotRelay
{ {
protected async Task<Task> InboundLocalchatMessage(SocketMessage message)
{
Client.Self.Chat("[" + message.Author.Username + "]->" + message.Content, 0, ChatType.Normal);
return await MarkMessage(message, "✅");
}
protected async Task<Task> InboundInterfaceMessage(SocketMessage message) protected async Task<Task> InboundInterfaceMessage(SocketMessage message)
{ {
StringBuilder output = new StringBuilder(); StringBuilder output = new StringBuilder();
@ -97,13 +102,11 @@ namespace BSB.bottypes
} }
if (process_status == true) if (process_status == true)
{ {
var Tickmark = new Emoji("✅"); await MarkMessage(message, "✅");
await message.AddReactionAsync(Tickmark, RequestOptions.Default);
} }
else else
{ {
var Failed = new Emoji("❌"); await MarkMessage(message, "❌");
await message.AddReactionAsync(Failed, RequestOptions.Default);
} }
} }
else else
@ -140,8 +143,7 @@ namespace BSB.bottypes
else if (UUID.TryParse(bits[1], out UUID avatar) == true) else if (UUID.TryParse(bits[1], out UUID avatar) == true)
{ {
Client.Self.InstantMessage(avatar, "[" + message.Author.Username + "]->" + message.Content); Client.Self.InstantMessage(avatar, "[" + message.Author.Username + "]->" + message.Content);
var Tickmark = new Emoji("✅"); await MarkMessage(message, "✅");
await message.AddReactionAsync(Tickmark,RequestOptions.Default);
} }
} }
} }
@ -181,17 +183,24 @@ namespace BSB.bottypes
Noticetitle = Noticetitle.Replace("!notice ", ""); Noticetitle = Noticetitle.Replace("!notice ", "");
Noticetitle = Noticetitle.Trim(); Noticetitle = Noticetitle.Trim();
CommandsInterface.Call("GroupNotice", "" + group.ToString() + "~#~" + Noticetitle + "~#~" + Noticemessage, UUID.Zero); CommandsInterface.Call("GroupNotice", "" + group.ToString() + "~#~" + Noticetitle + "~#~" + Noticemessage, UUID.Zero);
await MarkMessage(message, "✅");
} }
else else
{ {
CommandsInterface.Call("Groupchat", "" + group.ToString() + "~#~" + "[" + message.Author.Username + "]->" + message.Content, UUID.Zero); CommandsInterface.Call("Groupchat", "" + group.ToString() + "~#~" + "[" + message.Author.Username + "]->" + message.Content, UUID.Zero);
await MarkMessage(message, "✅");
} }
var Tickmark = new Emoji("✅"); }
}
}
}
return Task.CompletedTask;
}
protected async Task<Task> MarkMessage(SocketMessage message,string emote)
{
var Tickmark = new Emoji(emote);
await message.AddReactionAsync(Tickmark, RequestOptions.Default); await message.AddReactionAsync(Tickmark, RequestOptions.Default);
}
}
}
}
return Task.CompletedTask; return Task.CompletedTask;
} }
@ -218,6 +227,10 @@ namespace BSB.bottypes
{ {
await InboundInterfaceMessage(message); await InboundInterfaceMessage(message);
} }
else if(Chan.Name == "localchat")
{
await InboundLocalchatMessage(message);
}
} }
else if (Chan.CategoryId == catmap["im"].Id) else if (Chan.CategoryId == catmap["im"].Id)
{ {

View file

@ -90,6 +90,10 @@ namespace BSB.bottypes
await DiscordIMMessage(sender_uuid, sender_name, message).ConfigureAwait(false); await DiscordIMMessage(sender_uuid, sender_name, message).ConfigureAwait(false);
} }
} }
else
{
_ = SendMessageToChannelAsync("localchat", ""+sender_name+":"+message, "bot", UUID.Zero, "bot");
}
} }
} }
} }