Files
nadekobot/src/NadekoBot/Db/Models/FollowedStream.cs
2021-12-29 06:07:16 +01:00

36 lines
983 B
C#

#nullable disable
using NadekoBot.Modules.Searches.Common;
using NadekoBot.Services.Database.Models;
namespace NadekoBot.Db.Models;
public class FollowedStream : DbEntity
{
public enum FType
{
Twitch = 0,
Picarto = 3,
Youtube = 4,
Facebook = 5
}
public ulong GuildId { get; set; }
public ulong ChannelId { get; set; }
public string Username { get; set; }
public FType Type { get; set; }
public string Message { get; set; }
protected bool Equals(FollowedStream other)
=> ChannelId == other.ChannelId
&& Username.Trim().ToUpperInvariant() == other.Username.Trim().ToUpperInvariant()
&& Type == other.Type;
public override int GetHashCode()
=> HashCode.Combine(ChannelId, Username, (int)Type);
public override bool Equals(object obj)
=> obj is FollowedStream fs && Equals(fs);
public StreamDataKey CreateKey()
=> new(Type, Username.ToLower());
}