mirror of
https://github.com/Ikatono/TwitchIrcClient.git
synced 2025-10-29 04:56:12 -05:00
Fixed namespaces
This commit is contained in:
@@ -5,7 +5,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TwitchLogger.IRC
|
||||
namespace TwitchIrcClient.IRC
|
||||
{
|
||||
public record struct Badge(string Name, string Version)
|
||||
{
|
||||
|
||||
@@ -3,9 +3,9 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using TwitchLogger.IRC.Messages;
|
||||
using TwitchIrcClient.IRC.Messages;
|
||||
|
||||
namespace TwitchLogger.IRC
|
||||
namespace TwitchIrcClient.IRC
|
||||
{
|
||||
//public class IrcMessageEventArgs(ReceivedMessage message) : EventArgs
|
||||
//{
|
||||
|
||||
@@ -13,9 +13,9 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Timers;
|
||||
using TwitchIrcClient.IRC.Messages;
|
||||
using TwitchLogger.IRC.Messages;
|
||||
using TwitchIrcClient.IRC.Messages;
|
||||
|
||||
namespace TwitchLogger.IRC
|
||||
namespace TwitchIrcClient.IRC
|
||||
{
|
||||
/// <summary>
|
||||
/// Connects to a single Twitch chat channel via limited IRC implementation.
|
||||
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TwitchLogger.IRC
|
||||
namespace TwitchIrcClient.IRC
|
||||
{
|
||||
public enum IrcMessageType
|
||||
{
|
||||
|
||||
@@ -8,7 +8,7 @@ using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TwitchLogger.IRC
|
||||
namespace TwitchIrcClient.IRC
|
||||
{
|
||||
/// <summary>
|
||||
/// Holds key-value pairs of tags. Tag names are case-sensitive and DO NOT parse
|
||||
|
||||
@@ -5,7 +5,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TwitchLogger.IRC.Messages
|
||||
namespace TwitchIrcClient.IRC.Messages
|
||||
{
|
||||
public class ClearChat : ReceivedMessage
|
||||
{
|
||||
|
||||
@@ -5,7 +5,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TwitchLogger.IRC.Messages
|
||||
namespace TwitchIrcClient.IRC.Messages
|
||||
{
|
||||
/// <summary>
|
||||
/// Indicates that a message was deleted.
|
||||
@@ -34,7 +34,7 @@ namespace TwitchLogger.IRC.Messages
|
||||
string s = TryGetTag("tmi-sent-ts");
|
||||
if (!double.TryParse(s, out double d))
|
||||
return null;
|
||||
return DateTime.UnixEpoch.AddSeconds(d);
|
||||
return DateTime.UnixEpoch.AddSeconds(d / 1000);
|
||||
}
|
||||
}
|
||||
public ClearMsg(ReceivedMessage message) : base(message)
|
||||
|
||||
@@ -5,11 +5,12 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TwitchLogger.IRC.Messages
|
||||
namespace TwitchIrcClient.IRC.Messages
|
||||
{
|
||||
public class Join : ReceivedMessage
|
||||
{
|
||||
public string Username => Prefix?.Split('!', 2).First() ?? "";
|
||||
public string ChannelName => Parameters.Single().TrimStart('#');
|
||||
public Join(ReceivedMessage message) : base(message)
|
||||
{
|
||||
Debug.Assert(MessageType == IrcMessageType.JOIN,
|
||||
|
||||
@@ -5,14 +5,14 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TwitchLogger.IRC.Messages
|
||||
namespace TwitchIrcClient.IRC.Messages
|
||||
{
|
||||
public class NamReply : ReceivedMessage
|
||||
{
|
||||
public IEnumerable<string> Users =>
|
||||
Parameters.Last().Split(' ', StringSplitOptions.TrimEntries
|
||||
| StringSplitOptions.RemoveEmptyEntries);
|
||||
|
||||
public string ChannelName => Parameters.TakeLast(2).First().TrimStart('#');
|
||||
public NamReply(ReceivedMessage message) : base(message)
|
||||
{
|
||||
Debug.Assert(MessageType == IrcMessageType.RPL_NAMREPLY,
|
||||
|
||||
@@ -6,7 +6,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TwitchLogger.IRC.Messages
|
||||
namespace TwitchIrcClient.IRC.Messages
|
||||
{
|
||||
public class Notice : ReceivedMessage
|
||||
{
|
||||
|
||||
@@ -5,11 +5,12 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TwitchLogger.IRC.Messages
|
||||
namespace TwitchIrcClient.IRC.Messages
|
||||
{
|
||||
public class Part : ReceivedMessage
|
||||
{
|
||||
public string Username => Prefix?.Split('!', 2).First() ?? "";
|
||||
public string ChannelName => Parameters.Single().TrimStart('#');
|
||||
public Part(ReceivedMessage message) : base(message)
|
||||
{
|
||||
Debug.Assert(MessageType == IrcMessageType.PART,
|
||||
|
||||
@@ -7,7 +7,7 @@ using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TwitchLogger.IRC.Messages
|
||||
namespace TwitchIrcClient.IRC.Messages
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
@@ -109,6 +109,15 @@ namespace TwitchLogger.IRC.Messages
|
||||
return value == "1";
|
||||
}
|
||||
}
|
||||
public DateTime Timestamp
|
||||
{ get
|
||||
{
|
||||
var s = TryGetTag("tmi-sent-ts");
|
||||
if (!double.TryParse(s, out double result))
|
||||
throw new InvalidDataException();
|
||||
return DateTime.UnixEpoch.AddSeconds(result / 1000);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// A Boolean value that indicates whether the user has site-wide commercial
|
||||
/// free mode enabled
|
||||
@@ -157,6 +166,7 @@ namespace TwitchLogger.IRC.Messages
|
||||
/// A Boolean value that determines whether the user that sent the chat is a VIP.
|
||||
/// </summary>
|
||||
public bool Vip => MessageTags.ContainsKey("vip");
|
||||
public bool FirstMessage => TryGetTag("first-msg") == "1";
|
||||
public string ChatMessage => Parameters.Last();
|
||||
public Privmsg(ReceivedMessage message) : base(message)
|
||||
{
|
||||
|
||||
@@ -6,7 +6,7 @@ using System.Reflection.Metadata.Ecma335;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TwitchLogger.IRC.Messages
|
||||
namespace TwitchIrcClient.IRC.Messages
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
@@ -109,6 +109,8 @@ namespace TwitchLogger.IRC.Messages
|
||||
return new Part(message);
|
||||
case IrcMessageType.RPL_NAMREPLY:
|
||||
return new NamReply(message);
|
||||
case IrcMessageType.ROOMSTATE:
|
||||
return new Roomstate(message);
|
||||
default:
|
||||
return message;
|
||||
}
|
||||
|
||||
@@ -6,8 +6,8 @@ using System.Linq;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using TwitchLogger.IRC;
|
||||
using TwitchLogger.IRC.Messages;
|
||||
using TwitchIrcClient.IRC;
|
||||
using TwitchIrcClient.IRC.Messages;
|
||||
|
||||
namespace TwitchIrcClient.IRC.Messages
|
||||
{
|
||||
@@ -86,6 +86,10 @@ namespace TwitchIrcClient.IRC.Messages
|
||||
throw new InvalidDataException($"tag \"subs-only\" does not have a proper value: {value}");
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public string ChannelName => Parameters.Last().TrimStart('#');
|
||||
public Roomstate(ReceivedMessage other) : base(other)
|
||||
{
|
||||
Debug.Assert(MessageType == IrcMessageType.ROOMSTATE,
|
||||
|
||||
@@ -8,7 +8,7 @@ using System.Net.WebSockets;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TwitchLogger.IRC.Messages
|
||||
namespace TwitchIrcClient.IRC.Messages
|
||||
{
|
||||
public class UserNotice : ReceivedMessage
|
||||
{
|
||||
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TwitchLogger.IRC
|
||||
namespace TwitchIrcClient.IRC
|
||||
{
|
||||
/// <summary>
|
||||
/// Prevents sending too many messages in a time period. A single rate limiter can
|
||||
|
||||
@@ -4,7 +4,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TwitchLogger.IRC
|
||||
namespace TwitchIrcClient.IRC
|
||||
{
|
||||
public enum UserType
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user