SaLaM dasham
rastesho bekhay khodam ta alan in karo nakarde budam chiz jalebi gofti manam say kardam hamoni ke u gofti ajnam bedam.
aval :
chon to gofti vaqti ba message id join bede pas avala bayad void massege ro ijad konim.
aval eventesho minevisim :
collect[i].OnMessage += OnMessage;hala nobat mirese be voidesh :
public void OnMessage(object sender, agsXMPP.protocol.client.Message msg)
{
if (base.InvokeRequired == true)
{
base.BeginInvoke(new MessageHandler(OnMessage), new object[] { sender, msg });
}
else
{inam az void.
chon hame id ha az ye void use mikonan pas bayad betoni tashkhis bedim ke shoma be che ID pm midi ya dastur midi ke join room she.
ma in tori mitonim idi ke pmesh besh midim ro tashkhis bedim az beyn id ha.
string IDpm = msg.To.User;alan be har idi pm bedim mitonim tashkhish bedim be kodom id hast.
chon gofti to pv bayad pm bedi pas ye IF mizarim vase PV:
if (msg.Type == MessageType.chat)hala har pmi ke toye pv send she ro tashkhis midim.
hala monde remoter ke betonim tashkhis bedim kodom ID ro shoma seda zadi va be koja mikhay befrestish.
vase remoter kheili raha hast
mitoni az
contains , indexof , split, switch o case, replace va .............................
har chi ke bekhay use k.o.n.i faqat bayad yekam hoseleho zahmat be kharj bedi.
say kardam az chand ta az ina use konam ke u ham motevaje shi.
aval bayad harfi ro ke mikhay be onvane melsa j ya join beferesti ke barname teshkhis bede ro az message beiri.
string str = msg.Body.ToLower().Split('/')[0];khoruji in cod mishe in : j/RooM => j ( yani harchi ke qable caracter in ( / ) benevisi mishe )hala ma bayad esm room ham begirim az message :
string str1 = msg.Body.Remove(0, msg.Body.IndexOf("/") + 1);khoruji in cod mishe in : j/Nurabad => Nurabad ( yani harchi ke bad az caracter in ( / ) benevisi mishe )alan ma har harfi ke mikhay be onvan remot azesh use konim ro darim ham esm roomi ke mikhaym ID ro beferestim behesh.
faqat monde remotesh
aval ye split mizanim beyn id haye textbox i ke ID ha tosh hastan
string[] ID = textBox1.Text.Split('#');bad ye halqe mizanim chon bayad kole id haro begirim va har kodom ro khastim join bedim :
for (var i = 0; i < ID.Length; i++)inam az halqe hala bayad ye shart bezarim ke faqat id haye online ro ma mikhaym id haye off niyazi nadarim :
if (collect[i].Authenticated)hala faqat monde ke begim kodom id ro join bede ba ye shrat :
if (str.Contains("j") && IDpm.Contains(collect[i].Username))inja age tavajoh k.o.n.i str.Contains("j") ro neveshtim.
str hamon stringi hast ke ma vase remoter neveshtim
IDpm.Contains(collect[i].Username))
IDpm ham hamun ID hast ke ma behehs pm dadim.hala faqat monde ke xml bezarim ya az xmpp use konim vase to ba xml neveshtam ke rahat tare :
collect[i].Send("<presence to='" + str1 + "@conference.nimbuzz.com/" + collect[i] + "' xml:lang='en'><x xmlns='http://jabber.org/protocol/muc'></x></presence>");age to cod tavajoh k.o.n.i str1 ro qarar dadim be jaye esm room.
str1 hamon stringi hast ke ma vase esm room bala neveshtim.
tamom shod.
faqat ye chiz mimone ke moqe ersal cod answer to admin .
unja ham bayad az str1 use kard chon dg ma chizi be name txtRoom.text nadarim.
pas to cod bala ye string sade minevism.albate in string bayad birun Void bashe ke betonim hamej azesh use konim.
string Room;bad bad qesmati ke esm room ro gereftim in cod ro qarar midim yani in
Room = str1;ke jash mishe inja
string str = msg.Body.ToLower().Split('/')[0];
string str1 = msg.Body.Remove(0, msg.Body.IndexOf("/") + 1);
Room = str1;hala to qesmat answer to admin ke mishe to void OnReadXml bayad be jaei ke mikhay javab soal admin ro bedi bayad be jaye esm room in ro qarar bedi : Room
hame chi tamumid.
string Room;
public void OnMessage(object sender, agsXMPP.protocol.client.Message msg)
{
if (base.InvokeRequired == true)
{
base.BeginInvoke(new MessageHandler(OnMessage), new object[] { sender, msg });
}
else
{
try
{
string IDpm = msg.To.User;
if (msg.Type == MessageType.chat)
{
string str = msg.Body.ToLower().Split('/')[0];
string str1 = msg.Body.Remove(0, msg.Body.IndexOf("/") + 1);
Room = str1;
string[] ID = textBox1.Text.Split('#');
for (var i = 0; i < ID.Length; i++)
{
if (collect[i].Authenticated)
{
if (str.Contains("j") && IDpm.Contains(collect[i].Username))
{
collect[i].Send("<presence to='" + str1 + "@conference.nimbuzz.com/" + collect[i] + "' xml:lang='en'><x xmlns='http://jabber.org/protocol/muc'></x></presence>");
}
}
}
}
}
catch { }
}
}
inam az kole cod ha ba ham .
say kardam ta jaei ke mishe sade o ravun tozi bedam.moafaq bashi.
soali bud bepors javab midam
ya haq
-----------------------