static void Main(string[] args) { Console.WriteLine("Hello from C#!", Console.LogLevel.Info); Console.WriteLine(string.Format("args = [{0}]", string.Join(",", args)), Console.LogLevel.Info); Console.AddCommand("test", TestCommand); Console.Execute("print t"); Events.Add <Input.KeyEvent>(KeyCallback); Events.Add <TestEvent>(TestEventCallback); DiscordEventHandler discordEventHandler = new DiscordEventHandler(); DiscordRPC.Init("424302031822520320", ref discordEventHandler, true, "480"); DiscordPresence presence = new DiscordPresence(); presence.details = "Jazz weeb"; presence.state = ":3c:"; presence.largeImageKey = "icon-large"; presence.smallImageKey = "icon-small"; DiscordRPC.UpdatePresence(ref presence); SteamworksClient = new Client(480); }
private async Task InitializeAsync() { this._serviceCollection.AddSingleton(this._client); this._serviceCollection.AddSingleton(this._commandService); this._serviceCollection.AddSingleton(RemindService.GetInstance(this._client)); this._serviceProvider = this._serviceCollection.BuildServiceProvider(true); await this._commandService.AddModulesAsync(Assembly.GetEntryAssembly()); this._commandService.AddTypeReader <TimeUnitTypeReader>(new TimeUnitTypeReader()); this._commandService.AddTypeReader <LeagueRoleTypeReader>(new LeagueRoleTypeReader()); DiscordEventHandler eventHandler = new DiscordEventHandler(this._serviceProvider); this._client.Log += Logger.Log; this._commandService.Log += Logger.Log; this._client.Ready += eventHandler.HandleReady; this._client.MessageReceived += eventHandler.HandleMessageReceived; using (GeneralContext database = new GeneralContext()) { await database.Database.EnsureCreatedAsync(); } }
public DiscordWebSocket(Uri uri, CancellationToken cancelToken) { this.uri = uri; this.cancelToken = cancelToken; listener = new DiscordEventListener(this); Handler = new DiscordEventHandler(); Cache = new DiscordWebSocketCache(); serializer = new JsonSerializer(); }
public DiscordBot(IServiceProvider services, DiscordBotConfiguration configuration, DiscordShardedClient client, DiscordRestClient rest, QCommandsHandler commands, DiscordEventHandler eventHandler) { Commands = new Dictionary <string, Command>(); Config = configuration; Client = client; Rest = rest; this._services = services; this._commands = commands; this._eventHandler = eventHandler; }
private static void WireUpEvents(DiscordClient client) { client.PresenceUpdated += new AsyncEventHandler <PresenceUpdateEventArgs>(async(e) => await DiscordEventHandler.PresenceUpdated(e, client)); client.GuildMemberRemoved += new AsyncEventHandler <GuildMemberRemoveEventArgs>(async(e) => await DiscordEventHandler.GuildMemberRemoved(e, client)); client.ChannelCreated += new AsyncEventHandler <ChannelCreateEventArgs>(async(e) => await DiscordEventHandler.ChannelCreated(e, client)); client.GuildEmojisUpdated += new AsyncEventHandler <GuildEmojisUpdateEventArgs>(async(e) => await DiscordEventHandler.EmojiUpdated(e, client)); client.ChannelDeleted += new AsyncEventHandler <ChannelDeleteEventArgs>(async(e) => await DiscordEventHandler.ChannelDeleted(e, client, config)); client.SocketClosed += async(e) => await DiscordEventHandler.SocketClosed(e); client.MessageCreated += async(e) => await DiscordEventHandler.MessageCreated(e, client, config.screenshotChannel); }
public static void GameStateMessage(string csgoDataJson) { Console.WriteLine(csgoDataJson); var csgoData = new JavaScriptSerializer().Deserialize <dynamic>(csgoDataJson); string steamId = csgoData["provider"]["steamid"]; if (!rpcInitialized) { rpcInitialized = true; var eventHandler = new DiscordEventHandler(); DiscordRPC.Init(discordAppId, ref eventHandler, true, steamId); startAt = (int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds; DiscordAssets.Init(discordAppId); } DiscordPresence presence = FormatPresence(csgoData); DiscordRPC.UpdatePresence(ref presence); }
private static async Task Main() { Log.Logger = new LoggerConfiguration() .WriteTo.Console() .CreateLogger(); IConfiguration metaConfig = new ConfigurationBuilder() .AddEnvironmentVariables() .Build(); IConfiguration config = new ConfigurationBuilder() .AddEnvironmentVariables() .AddJsonFile(metaConfig["GREENGLADE_SETTINGS_PATH"], true, true) .AddJsonFile(metaConfig["TIPSY_SETTINGS_PATH"], true, true) .Build(); var discordConfig = new DiscordSocketConfig { MessageCacheSize = 100 }; var client = new DiscordSocketClient(discordConfig); const string prefix = ">"; var guildInfoSource = new DefaultGuildSettingsSource(new GuildSettings { CommandPrefix = prefix, AllowInlineCommands = true, InlineCommandAlias = "search", InlineCommandOpener = "<<", InlineCommandCloser = ">>", }); IServiceProvider services = new ServiceCollection() .AddLogging(b => b.AddSerilog(dispose: true)) .Configure <GreengladeSettings>(config) .Configure <TipsySettings>(config) .AddDbContextPool <GreengladeContext>(options => options.UseSqlite(config["CONNECTION_STRING"])) .AddSingleton(guildInfoSource) .AddScoped <IGuildSettingsSource, EfCoreGuildSettingsSource>() .AddSingleton(client) .AddSingleton <IDataDragonFetcher, RiotDataDragonFetcher>() .AddSingleton <ICatalogService, BasicCatalogService>() .AddScoped <ISearchService, BasicLevenshteinSearchService>() // Views .AddScoped <CardboardViewBuilder>() .AddScoped <CardboardSearchViewBuilder>() .AddScoped <CardFlavorViewBuilder>() .AddScoped <CardFlavorSearchViewBuilder>() .AddScoped <CardRelationViewBuilder>() .AddScoped <CardRelationSearchViewBuilder>() .AddScoped <KeywordViewBuilder>() .AddScoped <KeywordSearchViewBuilder>() .AddScoped <DeckViewBuilder>() .AddScoped <DeckSearchViewBuilder>() .AddScoped <AnythingSearchViewBuilder>() // Other .AddScoped <LocaleService>() .AddSingleton <CommandService>() .AddScoped <CommandDispatcher>() .AddScoped <ICommandResultHandler, BasicCommandResultHandler>() .BuildServiceProvider(); CommandService commands = services.GetRequiredService <CommandService>(); _ = await commands.AddModulesAsync(Assembly.GetEntryAssembly(), services); using var handler = DiscordEventHandler.CreateAndRegister(client, commands, services); await client.LoginAsync(TokenType.Bot, config["DISCORD_TOKEN"]); await client.StartAsync(); await client.SetActivityAsync(new Game($"{prefix}help | {prefix}about")); await Task.Delay(-1); }