Перепрыгнеть в содержание


- - - - -

Помогите с поиском новых матчей


72 ответов в эту тему

#21 ONLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПип
  • 251 сообщения
4

Добавлено 04 January 2015 - 20:46

я имел в виду на с#

#22 OFFLINE   bardmauzer

    Специалист


  • Участник II
  • ПипПипПип
  • 368 сообщения
61

Добавлено 04 January 2015 - 22:49

Сообщенияmaxspeed, on 04 January 2015 - 20:31, сказал:

{"filter":{"eventTypeIds":["1"],"marketTypeCodes":["OVER_UNDER_25","OVER_UNDER_35","OVER_UNDER_55"]},"maxResults":200,"marketProjection":["EVENT"]}
помогите сформировать этот запрос как пример



Не совсем понятно,какой пример тебе нужен.Вот если не создавать объекты,а просто строку отправлять,то можно так:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.IO;

namespace MyBotBf
{
class Program
{

static void Main(string[] args)
{

string token = "сюда свой токен";
string key = "сюда апп кей";
string address = "https://api.betfair.com/exchange/betting/rest/v1.0/listMarketCatalogue/";

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);
request.Method = "POST";
request.ContentType = "application/json";
request.ContentLength = 0;
request.Headers.Add(HttpRequestHeader.AcceptCharset, "UTF-8");
request.Accept = "application/json";
request.Headers.Add("X-Application", key);
request.Headers.Add("X-Authentication", token);

string json=@"{""filter"":{""eventTypeIds"":[""1""],""marketTypeCodes"":[""OVER_UNDER_25""]},""maxResults"":200,""marketProjection"":[""EVENT""]} ";
var bytes = Encoding.GetEncoding("UTF-8").GetBytes(json);
request.ContentLength = bytes.Length;

using (Stream stream = request.GetRequestStream())
{
stream.Write(bytes, 0, bytes.Length);
}
WebResponse response = GetWebResponse(request);
using (Stream stream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
var jsonResponse = reader.ReadToEnd();
Console.WriteLine(jsonResponse);
Console.ReadLine();
}

}
}
}

#23 OFFLINE   bardmauzer

    Специалист


  • Участник II
  • ПипПипПип
  • 368 сообщения
61

Добавлено 04 January 2015 - 23:03

Сообщенияmaxspeed, on 04 January 2015 - 20:31, сказал:

{"filter":{"eventTypeIds":["1"],"marketTypeCodes":["OVER_UNDER_25","OVER_UNDER_35","OVER_UNDER_55"]},"maxResults":200,"marketProjection":["EVENT"]}
помогите сформировать этот запрос как пример



Вот скачай себе полноценного бота.Там имеются все классы для сериализации и десериализации запросов.Открой его в Визуал студио и ковыряй.

https://yadi.sk/d/FBlT_0oYdaDc5

Отредактировано bardmauzer, 04 January 2015 - 23:03.


#24 ONLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПип
  • 251 сообщения
4

Добавлено 05 January 2015 - 06:00

спасибо
вот как раз на основе этого бота я и делаю свой
сейчас проблема в создании
запроса listMarketBook
как создавать MarketFilter там примведено
а как создавать MarketProjection ?
не пойму

#25 ONLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПип
  • 251 сообщения
4

Добавлено 05 January 2015 - 07:22

уточню:
IClient client = null;
client = new JsonRpcClient(Url, appkey, sessiontoken);
var marketfilter = new MarketFilter();
marketFilter.CompetitionIds = new HashSet<string>() { "31","117","59","55","4527196" };
var listevent = client.listEvents(marketFilter, locale2);
вот запрос работает
marketFilter я вижу как создается по аналогии попроовал с MarketProjection
не получилось
а как создать MarketProjection ?

#26 ONLINE   clerk

    Специалист


  • Модератор
  • 569 сообщения
98

Добавлено 05 January 2015 - 07:25

MarketProjection - это перечисление
public enum MarketProjection
{
COMPETITION, EVENT, EVENT_TYPE, MARKET_START_TIME, MARKET_DESCRIPTION, RUNNER_DESCRIPTION, RUNNER_METADATA
}
определенное в соответствующем классе (каталог ТО)

при использовании этого параметра в программе надо сначала определить переменную этого типа

ISet<MarketProjection> marketProjections = new HashSet<MarketProjection>();

а затем добавить в нее нужные вам значения,
например

marketProjections.Add(MarketProjection.EVENT_TYPE);
marketProjections.Add(MarketProjection.EVENT);
marketProjections.Add(MarketProjection.MARKET_DESCRIPTION);
marketProjections.Add(MarketProjection.RUNNER_METADATA);

#27 OFFLINE   bardmauzer

    Специалист


  • Участник II
  • ПипПипПип
  • 368 сообщения
61

Добавлено 05 January 2015 - 09:10

Сообщенияmaxspeed, on 05 January 2015 - 07:22, сказал:

уточню:
IClient client = null;
client = new JsonRpcClient(Url, appkey, sessiontoken);
var marketfilter = new MarketFilter();
marketFilter.CompetitionIds = new HashSet<string>() { "31","117","59","55","4527196" };
var listevent = client.listEvents(marketFilter, locale2);
вот запрос работает
marketFilter я вижу как создается по аналогии попроовал с MarketProjection
не получилось
а как создать MarketProjection ?

Вот,я же говорил.Напишешь каким образом программируешь,уточнишь свой вопрос,так тебе сразу и помогут.

#28 ONLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПип
  • 251 сообщения
4

Добавлено 05 January 2015 - 09:38

СПАСИБО!
сколько бессонных ночей :)

#29 ONLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПип
  • 251 сообщения
4

Добавлено 05 January 2015 - 12:08

теперь при добавлении
var marketProjection = new MarketProjection() {"EVENT"};
ошибка
Ошибка 1 Не удается инициализировать "WindowsFormsApplicationTest.TO.MarketProjection" с инициализатором коллекции, так как он не реализует "System.Collections.IEnumerable" C:\Users\Олег\Google Диск\C#\WindowsFormsApplicationTest\WindowsFormsApplicationTest\WindowsFormsApplicationTest\Form1.cs 99 63 WindowsFormsApplicationTest

#30 ONLINE   clerk

    Специалист


  • Модератор
  • 569 сообщения
98

Добавлено 05 January 2015 - 12:52

Кажется, вы напутали с типами

#31 ONLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПип
  • 251 сообщения
4

Добавлено 05 January 2015 - 13:55

подскажите как переписать правильно

#32 OFFLINE   bardmauzer

    Специалист


  • Участник II
  • ПипПипПип
  • 368 сообщения
61

Добавлено 05 January 2015 - 16:10

Сообщенияmaxspeed, on 05 January 2015 - 13:55, сказал:

подскажите как переписать правильно

Вроде же clerk написал как инициализировать :

marketProjections.Add(MarketProjection.EVENT);

Между прочим в том боте,который ты используешь все это есть:

marketFilter = new MarketFilter();
marketFilter.EventTypeIds = eventypeIds;
marketFilter.MarketStartTime = time;
marketFilter.MarketCountries = new HashSet<string>() { "GB" };
marketFilter.MarketTypeCodes = new HashSet<String>() { "WIN" };

var marketSort = MarketSort.FIRST_TO_START;
var maxResults = "1";

//as an example we requested runner metadata
ISet<MarketProjection> marketProjections = new HashSet<MarketProjection>();
marketProjections.Add(MarketProjection.RUNNER_METADATA);

#33 OFFLINE   bardmauzer

    Специалист


  • Участник II
  • ПипПипПип
  • 368 сообщения
61

Добавлено 05 January 2015 - 17:48

Сообщенияmaxspeed, on 05 January 2015 - 07:22, сказал:

уточню:
IClient client = null;
client = new JsonRpcClient(Url, appkey, sessiontoken);
var marketfilter = new MarketFilter();
marketFilter.CompetitionIds = new HashSet<string>() { "31","117","59","55","4527196" };
var listevent = client.listEvents(marketFilter, locale2);
вот запрос работает
marketFilter я вижу как создается по аналогии попроовал с MarketProjection
не получилось
а как создать MarketProjection ?

А метод client.listEvents(marketFilter, locale2) сам определил?

Отредактировано bardmauzer, 05 January 2015 - 17:48.


#34 ONLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПип
  • 251 сообщения
4

Добавлено 05 January 2015 - 19:22

нет он тоже есть в примере этом

#35 OFFLINE   bardmauzer

    Специалист


  • Участник II
  • ПипПипПип
  • 368 сообщения
61

Добавлено 05 January 2015 - 21:42

Сообщенияmaxspeed, on 05 January 2015 - 19:22, сказал:

нет он тоже есть в примере этом

Нет вроде там такого.Можешь показать определение?

#36 ONLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПип
  • 251 сообщения
4

Добавлено 06 January 2015 - 05:59

<div>IClient client = null;</div>
<div>client = new JsonRpcClient(Url, appkey, sessiontoken);</div>
<div> </div>
<div>
<div>using System;</div>
<div>using System.Collections.Generic;</div>
<div>using System.Linq;</div>
<div>using System.Text;</div>
<div>using WindowsFormsApplicationTest.TO;</div>
<div> </div>
<div>namespace WindowsFormsApplicationTest</div>
<div>{</div>
<div>    public interface IClient</div>
<div>    {</div>
<div>        /**</div>
<div>         * calls api-ng to get a list of events</div>
<div>         * </div>
<div>         * */</div>
<div>        IList<MarketTypeResult> listMarketTypes(MarketFilter marketFilter, string locale = null);</div>
<div>        IList<EventTypeResult> listEventTypes(MarketFilter marketFilter, string locale = null);</div>
<div>        IList<EventResult> listEvents(MarketFilter marketFilter, string locale = null);</div>
<div>        IList<CompetitionResult> listCompetitions(MarketFilter marketFilter, string locale = null);</div>
<div>        </div>
<div> </div>
<div> </div>
<div>   //     List<listCompetitions> listCompetitions(MarketFilter marketfilter, string locale = null);</div>
<div> </div>
<div>        /**</div>
<div>         * calls api-ng to get a list of market catalogues</div>
<div>         * */</div>
<div>        IList<MarketCatalogue> listMarketCatalogue(MarketFilter marketFilter, ISet<MarketProjection> marketProjections, MarketSort marketSort, string maxResult = &quot;1&quot;, string locale = null);</div>
<div> </div>
<div>        /**</div>
<div>         * calls api-ng to get more detailed info about the specified markets</div>
<div>         * */</div>
<div>        IList<MarketBook> listMarketBook(IList<string> marketIds, PriceProjection priceProjection, OrderProjection? orderProjection = null, MatchProjection? matchProjection = null, string currencyCode = null, string locale = null);</div>
<div> </div>
<div>        /**</div>
<div>         * places a bet</div>
<div>         * */</div>
<div>        PlaceExecutionReport placeOrders(string marketId, string customerRef, IList<PlaceInstruction> placeInstructions, string locale = null);</div>
<div> </div>
<div>        /**</div>
<div>         * Lists market profit and loss</div>
<div>         * */</div>
<div>        IList<MarketProfitAndLoss> listMarketProfitAndLoss(IList<string> marketIds, bool includeSettledBets = false, bool includeBspBets = false, bool netOfCommission = false);</div>
<div> </div>
<div>        /**</div>
<div>         * Lists current orders</div>
<div>         * */</div>
<div>        CurrentOrderSummaryReport listCurrentOrders(ISet<String> betIds, ISet<String> marketIds, OrderProjection? orderProjection = null, TimeRange placedDateRange = null, OrderBy? orderBy = null, SortDir? sortDir = null, int? fromRecord = null, int? recordCount = null);</div>
<div> </div>
<div>        /**</div>
<div>         * Lists cleared orders</div>
<div>         * */</div>
<div>        ClearedOrderSummaryReport listClearedOrders(BetStatus betStatus, ISet<string> eventTypeIds = null, ISet<string> eventIds = null, ISet<string> marketIds = null, ISet<RunnerId> runnerIds = null, ISet<string> betIds = null, Side? side = null, TimeRange settledDateRange = null, GroupBy? groupBy = null, bool? includeItemDescription = null, String locale = null, int? fromRecord = null, int? recordCount = null);</div>
<div> </div>
<div>        /**</div>
<div>         * Cancels a bet, or decreases its size</div>
<div>         * */</div>
<div>        CancelExecutionReport cancelOrders(string marketId, IList<CancelInstruction> instructions, string customerRef);</div>
<div> </div>
<div>        /**</div>
<div>         * Replaces a bet: changes the price</div>
<div>         * */</div>
<div>        ReplaceExecutionReport replaceOrders(String marketId, IList<ReplaceInstruction> instructions, String customerRef);</div>
<div> </div>
<div>        /**</div>
<div>         * updates a bet</div>
<div>         * */</div>
<div>        UpdateExecutionReport updateOrders(String marketId, IList<UpdateInstruction> instructions, String customerRef);</div>
<div>        </div>
<div> </div>
<div>    }</div>
<div>}</div>
</div>
<p> </p>


#37 OFFLINE   bardmauzer

    Специалист


  • Участник II
  • ПипПипПип
  • 368 сообщения
61

Добавлено 06 January 2015 - 10:00

Сообщенияmaxspeed, on 06 January 2015 - 05:59, сказал:

<div>IClient client = null;</div>
<div>client = new JsonRpcClient(Url, appkey, sessiontoken);</div>
<div> </div>
<div>
<div>using System;</div>
<div>using System.Collections.Generic;</div>
<div>using System.Linq;</div>
<div>using System.Text;</div>
<div>using WindowsFormsApplicationTest.TO;</div>
<div> </div>
<div>namespace WindowsFormsApplicationTest</div>
<div>{</div>
<div> public interface IClient</div>
<div> {</div>
<div> /**</div>
<div> * calls api-ng to get a list of events</div>
<div> * </div>
<div> * */</div>
<div> IList<MarketTypeResult> listMarketTypes(MarketFilter marketFilter, string locale = null);</div>
<div> IList<EventTypeResult> listEventTypes(MarketFilter marketFilter, string locale = null);</div>
<div> IList<EventResult> listEvents(MarketFilter marketFilter, string locale = null);</div>
<div> IList<CompetitionResult> listCompetitions(MarketFilter marketFilter, string locale = null);</div>
<div> </div>
<div> </div>
<div> </div>
<div> // List<listCompetitions> listCompetitions(MarketFilter marketfilter, string locale = null);</div>
<div> </div>
<div> /**</div>
<div> * calls api-ng to get a list of market catalogues</div>
<div> * */</div>
<div> IList<MarketCatalogue> listMarketCatalogue(MarketFilter marketFilter, ISet<MarketProjection> marketProjections, MarketSort marketSort, string maxResult = &quot;1&quot;, string locale = null);</div>
<div> </div>
<div> /**</div>
<div> * calls api-ng to get more detailed info about the specified markets</div>
<div> * */</div>
<div> IList<MarketBook> listMarketBook(IList<string> marketIds, PriceProjection priceProjection, OrderProjection? orderProjection = null, MatchProjection? matchProjection = null, string currencyCode = null, string locale = null);</div>
<div> </div>
<div> /**</div>
<div> * places a bet</div>
<div> * */</div>
<div> PlaceExecutionReport placeOrders(string marketId, string customerRef, IList<PlaceInstruction> placeInstructions, string locale = null);</div>
<div> </div>
<div> /**</div>
<div> * Lists market profit and loss</div>
<div> * */</div>
<div> IList<MarketProfitAndLoss> listMarketProfitAndLoss(IList<string> marketIds, bool includeSettledBets = false, bool includeBspBets = false, bool netOfCommission = false);</div>
<div> </div>
<div> /**</div>
<div> * Lists current orders</div>
<div> * */</div>
<div> CurrentOrderSummaryReport listCurrentOrders(ISet<String> betIds, ISet<String> marketIds, OrderProjection? orderProjection = null, TimeRange placedDateRange = null, OrderBy? orderBy = null, SortDir? sortDir = null, int? fromRecord = null, int? recordCount = null);</div>
<div> </div>
<div> /**</div>
<div> * Lists cleared orders</div>
<div> * */</div>
<div> ClearedOrderSummaryReport listClearedOrders(BetStatus betStatus, ISet<string> eventTypeIds = null, ISet<string> eventIds = null, ISet<string> marketIds = null, ISet<RunnerId> runnerIds = null, ISet<string> betIds = null, Side? side = null, TimeRange settledDateRange = null, GroupBy? groupBy = null, bool? includeItemDescription = null, String locale = null, int? fromRecord = null, int? recordCount = null);</div>
<div> </div>
<div> /**</div>
<div> * Cancels a bet, or decreases its size</div>
<div> * */</div>
<div> CancelExecutionReport cancelOrders(string marketId, IList<CancelInstruction> instructions, string customerRef);</div>
<div> </div>
<div> /**</div>
<div> * Replaces a bet: changes the price</div>
<div> * */</div>
<div> ReplaceExecutionReport replaceOrders(String marketId, IList<ReplaceInstruction> instructions, String customerRef);</div>
<div> </div>
<div> /**</div>
<div> * updates a bet</div>
<div> * */</div>
<div> UpdateExecutionReport updateOrders(String marketId, IList<UpdateInstruction> instructions, String customerRef);</div>
<div> </div>
<div> </div>
<div> }</div>
<div>}</div>
</div>
<p> </p>

А где ты бота скачивал?Хоть убейте меня,нет там такого метода https://github.com/b...code/IClient.cs

#38 ONLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПип
  • 251 сообщения
4

Добавлено 06 January 2015 - 10:39

я по-моему добавил его из другого проекта
а в чем проблема?
не так как -то прописано?

#39 ONLINE   clerk

    Специалист


  • Модератор
  • 569 сообщения
98

Добавлено 06 January 2015 - 10:39

В примере определения нет, но
IList<EventResult> listEvents(MarketFilter marketFilter, string locale);
вполне правильное определение

#40 ONLINE   maxspeed

    Специалист


  • Участник II
  • ПипПипПип
  • 251 сообщения
4

Добавлено 06 January 2015 - 10:44

да таким образом я делаю запрос по событиям
теперь надо аналогично сделать listMarketBook и listMarketCatalogue