#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()); }