Archived
1
0
Fork 0
This repository has been archived on 2024-05-21. You can view files and clone it, but cannot push or open issues or pull requests.
maki/Maki/DiscordChannel.cs
2017-05-21 03:30:45 +02:00

59 lines
1.9 KiB
C#

using Maki.Rest;
using Maki.Structures.Channels;
using Maki.Structures.Messages;
using Maki.Structures.Rest;
namespace Maki
{
public class DiscordChannel
{
public readonly ulong Id;
public readonly DiscordServer Server;
private readonly Discord client;
public string Name { get; internal set; }
public DiscordChannelType Type { get; internal set; }
public int Position { get; internal set; }
public string Topic { get; internal set; }
public ulong LastMessageId { get; internal set; }
public int Bitrate { get; internal set; }
public int UserLimit { get; internal set; }
public override string ToString() => $@"<#{Id}>";
internal DiscordChannel(Discord discord, Channel channel, DiscordServer server = null)
{
client = discord;
Id = channel.Id;
Name = channel.Name;
Type = (DiscordChannelType)channel.Type;
Position = channel.Position ?? 0;
Topic = channel.Topic;
LastMessageId = channel.LastMessageId ?? 0;
Bitrate = channel.Bitrate ?? 0;
UserLimit = channel.UserLimit ?? 0;
Server = server;
}
public DiscordMessage Send(string text = "", DiscordEmbed embed = null)
{
RestResponse<Message> msg = client.RestClient.Request<Message>(
RestRequestMethod.POST,
RestEndpoints.ChannelMessages(Id),
new MessageCreate
{
Text = text,
Embed = embed?.ToStruct(),
}
);
DiscordMessage message = new DiscordMessage(client, msg.Response, this, client.members.Find(x => x.User.Id == msg.Response.User.Id));
client.messages.Add(message);
return message;
}
}
}