2016-11-15 11:01:02 +00:00
using System.Collections.Generic ;
2016-08-28 00:46:36 +00:00
namespace NadekoBot.Services.Database.Models
{
public class BotConfig : DbEntity
{
public HashSet < BlacklistItem > Blacklist { get ; set ; }
public ulong BufferSize { get ; set ; } = 4000000 ;
public bool ForwardMessages { get ; set ; } = true ;
public bool ForwardToAllOwners { get ; set ; } = true ;
2016-09-08 22:22:55 +00:00
public float CurrencyGenerationChance { get ; set ; } = 0.02f ;
2016-09-08 20:27:39 +00:00
public int CurrencyGenerationCooldown { get ; set ; } = 10 ;
2016-10-10 04:12:22 +00:00
public HashSet < ModulePrefix > ModulePrefixes { get ; set ; } = new HashSet < ModulePrefix > ( ) ;
2016-08-28 00:46:36 +00:00
public List < PlayingStatus > RotatingStatusMessages { get ; set ; } = new List < PlayingStatus > ( ) ;
public bool RotatingStatuses { get ; set ; } = false ;
public string RemindMessageFormat { get ; set ; } = "❗⏰**I've been told to remind you to '%message%' now by %user%.**⏰❗" ;
2017-01-12 19:19:56 +00:00
//currency
2016-08-28 00:46:36 +00:00
public string CurrencySign { get ; set ; } = "🌸" ;
public string CurrencyName { get ; set ; } = "Nadeko Flower" ;
public string CurrencyPluralName { get ; set ; } = "Nadeko Flowers" ;
2017-01-12 19:19:56 +00:00
public int TriviaCurrencyReward { get ; set ; } = 0 ;
public int MinimumBetAmount { get ; set ; } = 3 ;
public float BetflipMultiplier { get ; set ; } = 1.8f ;
public int CurrencyDropAmount { get ; set ; } = 1 ;
public float Betroll67Multiplier { get ; set ; } = 2 ;
public float Betroll91Multiplier { get ; set ; } = 3 ;
public float Betroll100Multiplier { get ; set ; } = 10 ;
2017-01-14 16:37:11 +00:00
//public HashSet<CommandCost> CommandCosts { get; set; } = new HashSet<CommandCost>();
/// <summary>
/// I messed up, don't use
/// </summary>
2017-01-12 19:19:56 +00:00
public HashSet < CommandPrice > CommandPrices { get ; set ; } = new HashSet < CommandPrice > ( ) ;
2016-10-10 04:12:22 +00:00
public HashSet < EightBallResponse > EightBallResponses { get ; set ; } = new HashSet < EightBallResponse > ( ) ;
public HashSet < RaceAnimal > RaceAnimals { get ; set ; } = new HashSet < RaceAnimal > ( ) ;
2016-10-04 23:57:35 +00:00
2016-10-06 17:19:42 +00:00
public string DMHelpString { get ; set ; } = "Type `-h` for help." ;
public string HelpString { get ; set ; } = @ "To add me to your server, use this link -> <https://discordapp.com/oauth2/authorize?client_id={0}&scope=bot&permissions=66186303>
You can use ` { 1 } modules ` command to see a list of all modules .
You can use ` { 1 } commands ModuleName `
( for example ` { 1 } commands Administration ` ) to see a list of all of the commands in that module .
For a specific command help , use ` { 1 } h CommandName ` ( for example { 1 } h ! ! q )
* * LIST OF COMMANDS CAN BE FOUND ON THIS LINK * *
2016-11-29 21:00:30 +00:00
< http : //nadekobot.readthedocs.io/en/latest/Commands%20List/>
2016-10-06 17:19:42 +00:00
Nadeko Support Server : https : //discord.gg/0ehQwTK2RBjAxzEY";
2016-10-04 23:57:35 +00:00
public int MigrationVersion { get ; set ; }
2016-08-28 00:46:36 +00:00
}
public class PlayingStatus : DbEntity
{
public string Status { get ; set ; }
}
public class BlacklistItem : DbEntity
{
public ulong ItemId { get ; set ; }
2016-10-03 02:19:14 +00:00
public BlacklistType Type { get ; set ; }
2016-08-28 00:46:36 +00:00
public enum BlacklistType
{
Server ,
Channel ,
User
}
}
public class EightBallResponse : DbEntity
{
public string Text { get ; set ; }
2016-09-10 19:40:25 +00:00
public override int GetHashCode ( )
{
return Text . GetHashCode ( ) ;
}
public override bool Equals ( object obj )
{
if ( ! ( obj is EightBallResponse ) )
return base . Equals ( obj ) ;
return ( ( EightBallResponse ) obj ) . Text = = Text ;
}
2016-08-28 00:46:36 +00:00
}
public class RaceAnimal : DbEntity
{
public string Icon { get ; set ; }
public string Name { get ; set ; }
2016-09-10 19:40:25 +00:00
public override int GetHashCode ( )
{
return Icon . GetHashCode ( ) ;
}
public override bool Equals ( object obj )
{
if ( ! ( obj is RaceAnimal ) )
return base . Equals ( obj ) ;
return ( ( RaceAnimal ) obj ) . Icon = = Icon ;
}
2016-08-28 00:46:36 +00:00
}
public class ModulePrefix : DbEntity
{
public string ModuleName { get ; set ; }
public string Prefix { get ; set ; }
2016-09-10 19:40:25 +00:00
public override int GetHashCode ( )
{
return ModuleName . GetHashCode ( ) ;
}
public override bool Equals ( object obj )
{
if ( ! ( obj is ModulePrefix ) )
return base . Equals ( obj ) ;
return ( ( ModulePrefix ) obj ) . ModuleName = = ModuleName ;
}
2016-08-28 00:46:36 +00:00
}
}