Conversation
|
There should be some abstraction layer for |
|
We could just make stuff protected and virtual? |
|
@quinchs thoughts on allowing message parameters to be provided with a string operator? public class Message
{
private Message(string input)
{
}
public static implicit operator Message(string input)
=> new Message(input);
}
internal class Example
{
public void ExampleMethod()
{
Send("test");
void Send(Message message)
{
}
}
} |
|
Also with the same design as above, an embed could serve as operator for message: private Message(Embed input)
{
}
public static implicit operator Message(Embed embed)
=> new Message(embed); |
|
With the mention of 'format', another idea to consider is a |
|
@Rozen4334 lgtm |
Summary
This PR adds a new builder called
MessageBuilderwhich can build aMessagethat is used inSendMessageAsyncfunctions.The upsides to this style is we can merge
SendFileandSendMessagefunctions as the library can determine whether or not the message contains files.The builder also makes building reusable message templates easier.
Todo
IMessageChannel.SendMessageAsync