|
You last visited: Today at 22:40
Advertisement
[C# Skype API] Programm schreibt Nachricht doppelt
Discussion on [C# Skype API] Programm schreibt Nachricht doppelt within the .NET Languages forum part of the Coders Den category.
10/09/2012, 11:42
|
#1
|
elite*gold: 25
Join Date: Sep 2012
Posts: 85
Received Thanks: 11
|
[C# Skype API] Programm schreibt Nachricht doppelt
Hallo Leute,
ich hab mal grade ein Problem  Also, es geht darum, dass ich einen Bot für Skype schreibe, der automatisch auf bestimmte Trigger eine Antwort zurückschreibt - wie gesagt, eine Antwort. Nur leider schreibt er zwei :/
Hier ist mein Code:
Code:
using SKYPE4COMLib;
using System;
using System.Windows.Forms;
namespace SkypeBot
{
public partial class Form1 : Form
{
private Skype skype;
private const string trigger = "#";
private const string nick = "[BOT] Oneiiros: ";
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
skype = new Skype();
//Protocol version
skype.Attach(8, false);
skype.MessageStatus +=
new _ISkypeEvents_MessageStatusEventHandler(skype_MessageStatus);
}
private void skype_MessageStatus(ChatMessage msg, TChatMessageStatus status)
{
label1.Text = "Got a message"; //nur zu Testzwecken
//wenn Nachricht mit Trigger startet....
if (msg.Body.IndexOf(trigger) == 0)
{
label2.Text = "Message starts with a trigger"; //nur zu Testzwecken
//trigger entfernen, command zu lowercase
string command = msg.Body.Remove(0, 1).ToLower();
label3.Text = "Command is: " + command; //nur zu Testzwecken
//schreibe Antwort
skype.SendMessage(msg.Sender.Handle, nick + ProcessCommand(command));
label4.Text = "Response sent"; //nur zu Testzwecken
}
}
private string ProcessCommand(string str)
{
string result;
switch (str)
{
case "help":
result = "---HELP TEXT---";
break;
case "test":
result = "It's alive!";
break;
default:
result = "Unknown command, #help for help.";
break;
}
return result;
}
}
}
|
|
|
10/09/2012, 11:47
|
#2
|
elite*gold: 258
Join Date: May 2010
Posts: 847
Received Thanks: 3,940
|
Code:
if (status != TChatMessageStatus.cmsReceived && status != TChatMessageStatus.cmsSent)
return;
Nur dann die Nachricht verarbeiten wenn sie gesendet/empfangen wurde. Das Event wird auch ausgelöst wenn die Nachricht gesendet wird(Wenn du was schreibst) und dann nochmal wenn sie gesendet wurde.
|
|
|
10/09/2012, 11:53
|
#3
|
elite*gold: 25
Join Date: Sep 2012
Posts: 85
Received Thanks: 11
|
Ach so, aber leider verstehe ich deinen code nicht, habe mich noch nicht so mit der Skype API auseinandergesetzt. Naja, bin jetzt auch erstmal weg, vielleicht komm ich ja noch drauf ;D
|
|
|
10/09/2012, 12:03
|
#4
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Na du prüfst zu Beginn mit status = cmsReceived, ob eine Nachricht empfangen wurde, erst dann weiterarbeiten.
|
|
|
10/09/2012, 15:58
|
#5
|
elite*gold: 83
Join Date: Sep 2012
Posts: 1,507
Received Thanks: 79
|
Ist zwar nur VB, aber mit bisschen Verstand kannst du das für C# umschreiben:
Code:
Private Sub skypeAutoWrite(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
AddHandler Skype.MessageStatus, AddressOf skype_MessageStatus
End Sub
Private Sub skype_MessageStatus(ByVal msg As ChatMessage, ByVal status As TChatMessageStatus)
If status = TChatMessageStatus.cmsReceived Then
If CheckBox1.Checked Then
If TextBox3.Text <> "" Then
msg.Chat.SendMessage(TextBox3.Text)
End If
End If
End If
End Sub
|
|
|
10/09/2012, 22:43
|
#6
|
elite*gold: 25
Join Date: Sep 2012
Posts: 85
Received Thanks: 11
|
Oh, super, danke
|
|
|
 |
Similar Threads
|
[HowTo] Bunte Persönliche Nachricht in skype
08/13/2012 - Tutorials - 26 Replies
Hallo :3 ich zeige euch nun wie man in Skype bunte Persönliche Nachrichten machen könnt
als erstes installiert ihr Pamela Pamela for Skype (Basic) - Download - CHIP Online
Gut wenn ihr es installiert habt und geöffnet habt wird sowas kommen
http://img852.imageshack.us/img852/4908/45908570. png
ihr müsst auf Zugriff erlauben klicken.
Okay dann klickt ihr auf
http://img12.imageshack.us/img12/6121/32223500.pn g
dan seit ihr hier und dan klickt ihr auf das farb fenster...
|
Skype fake Nachricht!
03/30/2012 - Trading - 12 Replies
Hier Bild:
ImageShack® - Online Photo and Video Hosting
Truhe:
|
[S] jmd der mir ein Programm schreibt !
12/29/2011 - Main - 7 Replies
Hey,
Ich suche jemanden der mir ein kleines Programmen machen könnte...
Also es ist ein LernProgramm das so läuft:
zb. muss ich jetzt Französische Vokabeln lernen...
Also gibt man da mehrere ein und nacheinander kommen dan die Vokabeln mit deutscher übersetzung zb..
-> 1Vokabel
2sec. später
|
All times are GMT +1. The time now is 22:41.
|
|