Example #1
0
        internal async Task Reply(GitterRoom room, GitterUser fromUser, string text)
        {
            var message = new GitterMessage {
                Text = $"@{fromUser.Username}: {text}"
            };

            await Post($"https://api.gitter.im/v1/rooms/{room.Id}/chatMessages", message);
        }
Example #2
0
        public async Task Broadcast(GitterRoom room, string text)
        {
            var message = new GitterMessage {
                Text = text
            };

            await Post($"https://api.gitter.im/v1/rooms/{room.Id}/chatMessages", message);
        }
Example #3
0
 private int Update(GitterRoom room, string name, Func <int, int> operation)
 {
     if (!_karma.ContainsKey(room.Name))
     {
         _karma[room.Name] = new Dictionary <string, int>(StringComparer.OrdinalIgnoreCase);
     }
     if (!_karma[room.Name].ContainsKey(name))
     {
         _karma[room.Name][name] = 0;
     }
     _karma[room.Name][name] = operation(_karma[room.Name][name]);
     return(_karma[room.Name][name]);
 }
Example #4
0
 public RoomContext(GitterClient client, GitterUser bot, GitterRoom room)
     : base(client, bot)
 {
     Room = room;
 }
Example #5
0
 public StreamListenerContext(HttpClient client, GitterRoom room, GitterUser bot, CancellationToken token)
     : base(new GitterClient(client), bot, room)
 {
     HttpClient = client;
     Token      = token;
 }
Example #6
0
 public MessageContext(GitterClient client, GitterUser bot, GitterRoom room, GitterMessage message)
     : base(client, bot, room)
 {
     Message = message;
 }
Example #7
0
 public HelpEvent(RoomContext context)
 {
     Bot  = context.Bot;
     Room = context.Room;
 }
Example #8
0
 public int Decrease(GitterRoom room, string name)
 {
     return(Update(room, name, karma => karma - 1));
 }