.unstuck, added points, clearer descriptions, $$$ command
This commit is contained in:
parent
a270f3c91a
commit
9f9ef8923b
@ -18,6 +18,9 @@ namespace NadekoBot.Classes {
|
||||
_conn.CreateTable<Announcement>();
|
||||
_conn.CreateTable<Request>();
|
||||
_conn.CreateTable<TypingArticle>();
|
||||
_conn.CreateTable<CurrencyState>();
|
||||
_conn.CreateTable<CurrencyTransaction>();
|
||||
_conn.Execute(Queries.TransactionTriggerQuery);
|
||||
}
|
||||
}
|
||||
|
||||
@ -45,6 +48,12 @@ namespace NadekoBot.Classes {
|
||||
}
|
||||
}
|
||||
|
||||
internal CurrencyState GetStateByUserId(long Id) {
|
||||
using (var _conn = new SQLiteConnection(_filePath)) {
|
||||
return _conn.Table<CurrencyState>().Where(x => x.UserId == Id).FirstOrDefault();
|
||||
}
|
||||
}
|
||||
|
||||
internal T Delete<T>(int Id) where T : IDataModel, new() {
|
||||
using (var _conn = new SQLiteConnection(_filePath)) {
|
||||
var found = _conn.Find<T>(Id);
|
||||
@ -68,3 +77,17 @@ namespace NadekoBot.Classes {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static class Queries {
|
||||
public static string TransactionTriggerQuery = @"
|
||||
CREATE TRIGGER IF NOT EXISTS OnTransactionAdded
|
||||
AFTER INSERT ON CurrencyTransaction
|
||||
BEGIN
|
||||
INSERT OR REPLACE INTO CurrencyState (Id, UserId, Value, DateAdded)
|
||||
VALUES (COALESCE((SELECT Id from CurrencyState where UserId = NEW.UserId),(SELECT COALESCE(MAX(Id),0)+1 from CurrencyState)),
|
||||
NEW.UserId,
|
||||
COALESCE((SELECT Value+New.Value FROM CurrencyState Where UserId = NEW.UserId),NEW.Value),
|
||||
NEW.DateAdded);
|
||||
END
|
||||
";
|
||||
}
|
||||
|
@ -260,7 +260,7 @@ namespace NadekoBot.Classes.Music {
|
||||
if (buffer.Length > 0) {
|
||||
Console.WriteLine("Prebuffering complete.");
|
||||
} else {
|
||||
Console.WriteLine("Didn't buffer jack shit.");
|
||||
Console.WriteLine("Nothing was buffered, try another song and check your GoogleApikey.");
|
||||
}
|
||||
|
||||
int blockSize = 1920 * NadekoBot.client.Audio().Config.Channels;
|
||||
|
@ -110,7 +110,16 @@ namespace NadekoBot.Classes.Trivia {
|
||||
await _channel.SendMessage($"☑️ {e.User.Mention} guessed it! The answer was: **{CurrentQuestion.Answer}**");
|
||||
if (users[e.User] == WinRequirement) {
|
||||
ShouldStopGame = true;
|
||||
await _channel.Send($":exclamation: We have a winner! Its {e.User.Mention}");
|
||||
await _channel.Send($":exclamation: We have a winner! Its {e.User.Mention}.");
|
||||
// add points to the winner
|
||||
await Task.Run(async () => {
|
||||
DBHandler.Instance.InsertData(new _DataModels.CurrencyTransaction {
|
||||
Reason = "Won Trivia",
|
||||
UserId = (long)e.User.Id,
|
||||
Value = 2,
|
||||
});
|
||||
await e.User.SendMessage("👑Congratulations!👑\nYou got: 🌸🌸");
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +0,0 @@
|
||||
namespace NadekoBot.Classes._DataModels {
|
||||
class Currency : IDataModel {
|
||||
public long UserId { get; set; }
|
||||
public long Value { get; set; }
|
||||
}
|
||||
}
|
7
NadekoBot/Classes/_DataModels/CurrencyStateModel.cs
Normal file
7
NadekoBot/Classes/_DataModels/CurrencyStateModel.cs
Normal file
@ -0,0 +1,7 @@
|
||||
namespace NadekoBot.Classes._DataModels {
|
||||
class CurrencyState : IDataModel {
|
||||
public long Value { get; set; }
|
||||
[SQLite.Unique]
|
||||
public long UserId { get; set; }
|
||||
}
|
||||
}
|
@ -2,5 +2,6 @@
|
||||
class CurrencyTransaction : IDataModel {
|
||||
public string Reason { get; set; }
|
||||
public int Value { get; set; }
|
||||
public long UserId { get; set; }
|
||||
}
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
using System;
|
||||
|
||||
namespace NadekoBot.Classes._DataModels {
|
||||
class IDataModel {
|
||||
abstract class IDataModel {
|
||||
[PrimaryKey, AutoIncrement]
|
||||
public int Id { get; set; }
|
||||
[Newtonsoft.Json.JsonProperty("createdAt")]
|
||||
|
@ -567,6 +567,14 @@ namespace NadekoBot.Modules {
|
||||
});
|
||||
});
|
||||
|
||||
cgb.CreateCommand(".unstuck")
|
||||
.Description("Clears the message queue. **OWNER ONLY**")
|
||||
.Do(async e => {
|
||||
if (e.User.Id != NadekoBot.OwnerID)
|
||||
return;
|
||||
await Task.Run(() => NadekoBot.client.MessageQueue.Clear());
|
||||
});
|
||||
|
||||
/*cgb.CreateCommand(".voicetext")
|
||||
.Description("Enabled or disabled voice to text channel connection. Only people in a certain voice channel will see ")
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
using Discord.Commands;
|
||||
using Discord.Modules;
|
||||
using NadekoBot.Extensions;
|
||||
using System.Linq;
|
||||
|
||||
namespace NadekoBot.Modules
|
||||
@ -32,6 +33,31 @@ namespace NadekoBot.Modules
|
||||
var members = role.Members.Where(u => u.Status == Discord.UserStatus.Online); // only online
|
||||
await e.Channel.SendMessage($"**Raffled user:** {members.ToArray()[new System.Random().Next(0, members.Count())].Name}");
|
||||
});
|
||||
/*
|
||||
cgb.CreateCommand("$$")
|
||||
.Description("Add moneyz")
|
||||
.Parameter("val", ParameterType.Required)
|
||||
.Do(e => {
|
||||
var arg = e.GetArg("val");
|
||||
var num = int.Parse(arg);
|
||||
Classes.DBHandler.Instance.InsertData(
|
||||
new Classes._DataModels.CurrencyTransaction {
|
||||
Value = num,
|
||||
Reason = "Money plz",
|
||||
UserId = (long)e.User.Id,
|
||||
});
|
||||
});
|
||||
*/
|
||||
cgb.CreateCommand("$$$")
|
||||
.Description("Check how many NadekoPoints you have.")
|
||||
.Do(async e => {
|
||||
var pts = Classes.DBHandler.Instance.GetStateByUserId((long)e.User.Id)?.Value ?? 0;
|
||||
string str = $"`You have {pts} NadekoPoints".SnPl((int)pts)+"`\n";
|
||||
for (int i = 0; i < pts; i++) {
|
||||
str += "🌸";
|
||||
}
|
||||
await e.Channel.SendMessage(str);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ namespace NadekoBot.Modules {
|
||||
|
||||
cgb.CreateCommand("p")
|
||||
.Alias("pause")
|
||||
.Description("Pauses the song")
|
||||
.Description("Pauses or Unpauses the song")
|
||||
.Do(async e => {
|
||||
if (musicPlayers.ContainsKey(e.Server) == false) return;
|
||||
if (musicPlayers[e.Server].TogglePause())
|
||||
|
@ -133,8 +133,8 @@
|
||||
<Compile Include="Classes\Music\SoundCloud.cs" />
|
||||
<Compile Include="Classes\_DataModels\AnnouncementModel.cs" />
|
||||
<Compile Include="Classes\_DataModels\CommandModel.cs" />
|
||||
<Compile Include="Classes\_DataModels\Currency.cs" />
|
||||
<Compile Include="Classes\_DataModels\CurrencyTransaction.cs" />
|
||||
<Compile Include="Classes\_DataModels\CurrencyStateModel.cs" />
|
||||
<Compile Include="Classes\_DataModels\CurrencyTransactionModel.cs" />
|
||||
<Compile Include="Classes\_DataModels\IDataModel.cs" />
|
||||
<Compile Include="Classes\_DataModels\RequestModel.cs" />
|
||||
<Compile Include="Classes\_DataModels\StatsModel.cs" />
|
||||
|
Loading…
Reference in New Issue
Block a user