PDA

Просмотр полной версии : [Руководство] Урок по созданию бота для тюряги на C# игровая валюта урок №2


Hlebnikov
23.04.2012, 20:18
Создание бота урок №2
Нам понадобится:

Microsoft Visual Studio 2010
Начальные знания
Терпение

Приступим:

Для начала, нужно создать форму.

[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Я использовал:

TextBox - 2 шт
Button - 1 шт
Label - 6 шт


Теперь, будем добавлять код к каждому элементу.


- Перетаскиваем на нашу форму Button1, кликаем 2 раза, и добавляем вот такой код:

string text = this.post("[Ссылки могут видеть только зарегистрированные и активированные пользователи]", "method=getInfo&user=" + this.textBox1.Text + "&key=" + this.textBox2.Text);
this.label4.Text = this.parse(text, "<rating>", "</rating");
this.label6.Text = this.parse(text, "<diamond>", "</diamond");
}
private string post(string uri, string req)
{
string s = req;
[Ссылки могут видеть только зарегистрированные и активированные пользователи] request = ([Ссылки могут видеть только зарегистрированные и активированные пользователи])WebRequest.Create(uri);
request.UserAgent = "Opera/9.80";
request.Method = "POST";
request.ContentType = "application/x-[Ссылки могут видеть только зарегистрированные и активированные пользователи]";
byte[] bytes = Encoding.ASCII.GetBytes(s);
request.ContentLength = bytes.Length;
request.GetRequestStream().Write(bytes, 0, bytes.Length);
request.GetRequestStream().Close();
[Ссылки могут видеть только зарегистрированные и активированные пользователи] response = ([Ссылки могут видеть только зарегистрированные и активированные пользователи])request.GetResponse();
return new StreamReader(response.GetResponseStream(), Encoding.UTF8).ReadToEnd();
}


string res;
private string strNewValue;
private string strResponse;
private string parse(string text, string ind1, string ind2)
{
res = "";
string[] stringSeparators = new string[] { "\n" };
string[] result = text.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries);
foreach (string stroka in result)
{
if (stroka.IndexOf(ind1) != -1)
{
string[] Moneyy = stroka.ToString().Split((Convert.ToChar(">")));
res = Moneyy[1].Replace(ind2, "");
}
}
return res;
}
вот и все
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
Спасибо за внимание, думаю, кому-то пригодится.Исходник:

DENISKA77777
24.04.2012, 18:39
Жду 3 Урока уже Сделал очень хорошо даже для начинающих)

vova1234561
25.04.2012, 17:26
Ты специально писал такой длинный код?
Или просто не знаешь как сократить?

Sinyss
25.04.2012, 20:43
Он скопи-пастил откуда то этот код, потому что я его и раньше где то видел, особенно момент
stroka.ToString().Split((Convert.ToChar(">")));
Это же фейспалм а не код...

Nickitee
25.04.2012, 21:48
string[] Moneyy = stroka.ToString().Split((Convert.ToChar(">")));
res = Moneyy[1].Replace(ind2, "");

Можно заменить на 1 строку:

res = stroka.Split(Convert.ToChar(">"))[1];

Hlebnikov
25.04.2012, 22:13
Умных много а толку нет!

Sinyss
25.04.2012, 23:10
string[] Moneyy = stroka.ToString().Split((Convert.ToChar(">")));
res = Moneyy[1].Replace(ind2, "");

Можно заменить на 1 строку:

res = stroka.Split(Convert.ToChar(">"))[1];

А вообще оптимально было бы:

res = stroka.Split('>')[1];

Guch
04.12.2012, 19:25
А чем тебя регулярные выражения не устраивают?
С ними вот это:
private string parse(string text, string ind1, string ind2)
{
res = "";
string[] stringSeparators = new string[] { "\n" };
string[] result = text.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries);
foreach (string stroka in result)
{
if (stroka.IndexOf(ind1) != -1)
{
string[] Moneyy = stroka.ToString().Split((Convert.ToChar(">")));
res = Moneyy[1].Replace(ind2, "");
}
}
return res;
}
Превращается в:

private string parse(string exp1, string exp2, string text)
{
Regex regex = new Regex(@"(?<=" + exp1 + ")(.*?)(?=" + exp2 + ")", RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.ExplicitCapture);
Match match = regex.Match(text);
return match.Value;
}

ultraz
05.12.2012, 02:21
Такой вопрос вот я сделал все из 1 урока (проверка id и auth_key авторизация) как теперь совместить то есть чтоб после успешной авторизации я попадал уже сюда в бот на информацию о валюте и сдесь уже заново не ляпал авторизацию и в дальнейшем по ходу создания тоже ?

Guch
05.12.2012, 21:56
Такой вопрос вот я сделал все из 1 урока (проверка id и auth_key авторизация) как теперь совместить то есть чтоб после успешной авторизации я попадал уже сюда в бот на информацию о валюте и сдесь уже заново не ляпал авторизацию и в дальнейшем по ходу создания тоже ?

Объяви переменные auth и id. После авторизации присвой им значения. И дальше вставляй их вместо this.textBox1.Text и this.textBox2.Text.