Esempio n. 1
0
 public PointsModule(PointsService pointsService, ReactionSettings reactionSettings, GraphPaintingService graphPaintingService, PointsGraphPaintingStrategy graphPaintingStrategy, UsersService usersService)
 {
     PointsService         = pointsService;
     ReactionSettings      = reactionSettings;
     GraphPaintingService  = graphPaintingService;
     GraphPaintingStrategy = graphPaintingStrategy;
     UsersService          = usersService;
 }
Esempio n. 2
0
        public async Task GetGraphAsync()
        {
            await using var _ = await DisposableReaction.CreateAsync(Context.Message, ReactionSettings.Loading, Context.Client.CurrentUser);

            var results = new Dictionary <string, IReadOnlyList <GraphItem> >
            {
                { "Body", await PointsService.GetUsersTotalPointsAsync() }
            };

            using var file  = new TemporaryFile("png");
            using var graph = await GraphPaintingService.DrawAsync(Context.Guild, GraphPaintingStrategy, results);

            graph.Write(file.Path, ImageMagick.MagickFormat.Png);

            await ReplyFileAsync(file.Path);
        }