osu/osu.Game/Online/API/Requests/GetChannelMessagesRequest.cs

36 lines
1.1 KiB
C#
Raw Normal View History

2018-01-05 11:21:19 +00:00
// Copyright (c) 2007-2018 ppy Pty Ltd <contact@ppy.sh>.
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
2016-08-31 10:49:34 +00:00
using System.Collections.Generic;
2017-05-17 17:43:11 +00:00
using System.Linq;
2016-08-31 10:49:34 +00:00
using osu.Framework.IO.Network;
2016-08-31 11:16:05 +00:00
using osu.Game.Online.Chat;
2016-08-31 10:49:34 +00:00
namespace osu.Game.Online.API.Requests
{
public class GetChannelMessagesRequest : APIRequest<List<Message>>
2016-08-31 10:49:34 +00:00
{
2018-04-08 13:01:14 +00:00
private readonly IEnumerable<ChannelChat> channels;
2017-03-07 01:59:19 +00:00
private long? since;
2016-08-31 10:49:34 +00:00
2018-04-08 13:01:14 +00:00
public GetChannelMessagesRequest(IEnumerable<ChannelChat> channels, long? sinceId)
2016-08-31 10:49:34 +00:00
{
this.channels = channels;
2017-02-09 13:18:08 +00:00
since = sinceId;
2016-08-31 10:49:34 +00:00
}
protected override WebRequest CreateWebRequest()
{
2017-05-17 17:43:11 +00:00
string channelString = string.Join(",", channels.Select(x => x.Id));
2016-08-31 10:49:34 +00:00
var req = base.CreateWebRequest();
req.AddParameter(@"channels", channelString);
if (since.HasValue) req.AddParameter(@"since", since.Value.ToString());
return req;
}
protected override string Target => @"chat/messages";
}
2018-01-05 11:21:19 +00:00
}