begin process at 2012 02 11 17:53:33
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > CLIENT IRC QUI LIT À VOIX HAUTE

CLIENT IRC QUI LIT À VOIX HAUTE


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseau & Internet Source .NET ( DotNet ) Classé sous :IRC, texttospeech, tcpclient, thread, delegate Niveau :Débutant Date de création :25/07/2010 Date de mise à jour :25/07/2010 21:46:09 Vu / téléchargé :2 608 / 124

Auteur : pigedanslelac

Ecrire un message privé
Site perso
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Un client IRC fait en C# qui utilise MSreader et la classe SpeechSynthesizer. Il suffit de downloader MSreader là :
http://www.microsoft.com/reader/fr/downloads/pc.m spx et le pack Français : http://www.microsoft.com/reader/fr/downloads/tts.m spx

Explications:
Envoyer un message : il faut écrire son nom dans la barre d'en haut et le message
dans la barre d'en bas, pareil pour joindre un canal sauf il ne faut pas mettre le #
Le bouton commande permet d'envoyer des commandes directement comme avec telnet par exemple :
PONG :1228970362
Le textbox à côtés des infos affiche s'il y a des erreurs.
Les messages privés vont dans Messages reçus et ceux venant du serveur
Le reste va dans la fenêtre de chat.

Source

  • using System;
  • using System.Collections.Generic;
  • using System.ComponentModel;
  • using System.Data;
  • using System.Drawing;
  • using System.Text;
  • using System.Windows.Forms;
  • using System.Net.Sockets;// TcpClient
  • using System.IO; //StreamWriter StreamReader
  • using System.Threading; // Pour pas que le prog. gèle
  • using System.Speech.Synthesis; // Pour faire parler la machine
  • using System.Text.RegularExpressions; // on utilise les regex pour décortiquer les infos reçus
  • namespace IrcRobot
  • {
  • public partial class Form1 : Form
  • {
  • //références à cause des opérations inter-threads
  • public static ListBox listBox;
  • public static ListBox listBoxRecu;
  • public static TextBox textbox;
  • public static TextBox textbox2;
  • public static Button boutonConnect;
  • // Irc server to connect
  • public static string SERVER; //= "chat.freenode.net";//eu.undernet.org
  • // Irc server's port (6667 is default port)
  • private static int PORT;// = 6667;
  • // User information defined in RFC 2812 (Internet Relay Chat: Client Protocol) is sent to irc server
  • private static string USER;// = "USER CSharpBot 8 * :I'm a C# irc bot";
  • // Bot's nickname
  • public static string NICK ;
  • // Channel to join
  • public static string CHANNEL;//= "#itsatest"
  • // Les streams de lecture et écriture
  • public static StreamWriter writer;
  • public static StreamReader reader;
  • public TcpClient irc;// = new TcpClient(SERVER, PORT);
  • // string d'entrée chat
  • static public string inputLine;
  • // Liste de fenêtres de chat
  • public static List<Form> ListeChat = new List<Form>();
  • private delegate void Yo();
  • // Pour vérifier si la dernière entrée du chat correspond à quelque chose
  • private string test;
  • // Pour faire parler la machine
  • static public SpeechSynthesizer speaker = new SpeechSynthesizer();
  • //regex
  • Regex regex1;
  • public Form1()
  • {
  • InitializeComponent();
  • // Références
  • listBox = lbMsgEnvoi;
  • textbox = tberreur;
  • textbox2 = tbMessage;
  • listBoxRecu = lbMsgRecu;
  • boutonConnect = btnConnexion;
  • // Configuration du Speech
  • //speaker.Rate = 1;
  • speaker.Volume = 100;
  • speaker.SelectVoiceByHints(VoiceGender.Female); // La voix est anglais par défaut donc on met le FR
  • // Pour réponse automatique
  • regex1 = new Regex("lol", RegexOptions.IgnoreCase);
  • }
  • // --------------------------------------------------------------------------
  • // Bouton qui connecte
  • // --------------------------------------------------------------------------
  • private void btnconnexion_Click(object sender, EventArgs e)
  • {
  • // NetworkStream stream;
  • // Variables prises dans Form1
  • SERVER = tbInfoServer.Text;
  • PORT = Convert.ToInt32(tbInfoPort.Text);
  • NICK = tbInfoNick.Text;
  • CHANNEL = tbInfoChannel.Text;
  • USER = tbInfoUser.Text;//Meuuuu21 8 * :My name is bot
  • // Se connecte et crée un objet pour lire et écrire
  • try
  • {
  • new Thread(delegate()
  • {
  • irc = new TcpClient(SERVER, PORT);
  • NetworkStream stream = irc.GetStream();
  • //Encoding.Default automatically gets the encoding with the same codepage used by your system
  • // Si on met pas d'encoding on aura pas les accents
  • reader = new StreamReader(stream, System.Text.Encoding.Default);
  • writer = new StreamWriter(stream);
  • ....... bon allez voir le source c'est pas très compliqué
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net.Sockets;// TcpClient
using System.IO; //StreamWriter StreamReader
using System.Threading; // Pour pas que le prog. gèle
using System.Speech.Synthesis; // Pour faire parler la machine 
using System.Text.RegularExpressions; // on utilise les regex pour décortiquer les infos reçus


namespace IrcRobot
{
    public partial class Form1 : Form
    {
        //références à cause des opérations inter-threads
        public static ListBox listBox;
        public static ListBox listBoxRecu;
        public static TextBox textbox;
        public static TextBox textbox2;
        public static Button boutonConnect;

        // Irc server to connect 
        public static string SERVER; //= "chat.freenode.net";//eu.undernet.org
        // Irc server's port (6667 is default port)
        private static int PORT;// = 6667;
        // User information defined in RFC 2812 (Internet Relay Chat: Client Protocol) is sent to irc server 
        private static string USER;// = "USER CSharpBot 8 * :I'm a C# irc bot";
        // Bot's nickname
        public static string NICK ;
        // Channel to join
        public static string CHANNEL;//= "#itsatest"

        // Les streams de lecture et écriture
        public static StreamWriter writer;
        public static StreamReader reader;
        public TcpClient irc;// = new TcpClient(SERVER, PORT);

        // string d'entrée chat
        static public string inputLine;
        // Liste de fenêtres de chat
        public static List<Form> ListeChat = new List<Form>();

        private delegate void Yo();
        // Pour vérifier si la dernière entrée du chat correspond à quelque chose
        private string test;
        // Pour faire parler la machine
        static public SpeechSynthesizer speaker = new SpeechSynthesizer();

        //regex
        Regex regex1;
        

        public Form1()
        {
            InitializeComponent();
            // Références
            listBox = lbMsgEnvoi;
            textbox = tberreur;
            textbox2 = tbMessage;
            listBoxRecu = lbMsgRecu;
            boutonConnect = btnConnexion;

            // Configuration du Speech
            //speaker.Rate = 1;
            speaker.Volume = 100;
            speaker.SelectVoiceByHints(VoiceGender.Female); // La voix est anglais par défaut donc on met le FR 

            // Pour réponse automatique 
            regex1 = new Regex("lol", RegexOptions.IgnoreCase);
        }


        // --------------------------------------------------------------------------
        // Bouton qui connecte
        // --------------------------------------------------------------------------
        private void btnconnexion_Click(object sender, EventArgs e)
        {
           // NetworkStream stream;

            // Variables prises dans Form1
            SERVER = tbInfoServer.Text;
            PORT = Convert.ToInt32(tbInfoPort.Text);
            NICK = tbInfoNick.Text;
            CHANNEL = tbInfoChannel.Text;
            USER = tbInfoUser.Text;//Meuuuu21 8 * :My name is bot

            // Se connecte et crée un objet pour lire et écrire
            try
            {
                new Thread(delegate()
            {
                irc = new TcpClient(SERVER, PORT);
                NetworkStream stream = irc.GetStream();
                //Encoding.Default automatically gets the encoding with the same codepage used by your system
                // Si on met pas d'encoding on aura pas les accents 
                reader = new StreamReader(stream, System.Text.Encoding.Default);
                writer = new StreamWriter(stream);

....... bon allez voir le source c'est pas très compliqué

 Conclusion

C'est facile de modifier le code pour l'adapter par exemple utiliser le ton de voix anglais.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

25 juillet 2010 21:46:10 :
prog pour le faire fonctioner

 Sources du même auteur

Source avec Zip Source .NET (Dotnet) COPIE DE CLÉ USB AUTOMATIQUE

 Sources de la même categorie

Source avec Zip Source avec une capture GESTIONNAIRE DE TÉLÉCHARGEMENT, AVEC REPRISE ET MULTITHREADI... par Madx23
Source avec Zip Source avec une capture CONVERTIR DU TEXTE RTF EN CODE HTML ET VICE-VERSA par vicosta
Source avec Zip Source avec une capture DICTIONAIRE TEXT/AUDIO/VISUELLE ANGLAIS AVEC WEBBROWSER CONT... par majnounmajda
Source avec Zip Source .NET (Dotnet) NSLOOKUP EN VB.NET OU COMMENT FAIRE UNE REQÛETE DNS EN PRÉCI... par ShareVB
Source avec Zip Source avec une capture MINI SEVEUR HTTP AVEC INTERFACE GRAPHIQUE ET IMPLÉMENTATIONS... par lemout

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) AFFICHAGE DE VALEUR PROVENANT D'U THREAD DANS UN FORMULAIRE par Nyuki
Source avec Zip Source .NET (Dotnet) TRANSFERT DE DONNÉES, SÉRIALIZATION XML POUR WINFORM par l0r3nz1
Source avec Zip PREPAREDFORMAT par Warny
Source avec Zip Source .NET (Dotnet) RESTREINDRE LE TEMPS D'EXÉCUTION D'UNE MÉTHODE par sebmafate
Source .NET (Dotnet) CROSSTHREADING - APPEL D'UNE MÉTHODE VIA UN DÉLÉGUÉ SYNCHRON... par MorpionMx

Commentaires et avis

Commentaire de pigedanslelac le 25/07/2010 21:45:17

J'AI oublié text to speech doit être installé` http://www.microsoft.com/reader/fr/downloads/tts.mspx

Commentaire de zakizaki7 le 15/09/2010 01:17:47 7/10

Bonne source d'inspiration ,
Merci

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Appel synchrone bloquant (code TRES simplifié) [ par Zeroc00l ] Bonjour !J'ai un petit souci sur les appels synchrones en C#Je vais simplifier le probleme :Dans un thread j'éxécute mon code général qui ressemble à C# 2.0 comment tuer un thread secondaire avec la touche escape [ par avatar1108 ] Bonjour à tous,J'ai parcouru inlassablement le site csharpfr.com en quête d'une réponse à mon problème, et il est vrai qu'on parle de temps à autre de thread et variable de classe [ par neoisback ] Bonjour,Je vous explique mon probleme :je developpe un server tcp dans le cadre d'un projet, j'ai creer une form afin de suivre les information que re Port serie Message d'erreur [ par nxp ] J'essaie d'ouvre le port serial sur un PDA mobile 5. Ça fonctionne, je recoie le texte. Mais j'ai aussi un message de windows dans la console du genre multi-thread ou comment fair plusieur foi la même chose en même temps [ par Dr_shaman ] Voila suite au conseille d'un internaute j'ai fais un client-serveur. Mon client est une dll dans SharePoint, elle capture un événement et envoi une j'ai besoin de 4 thread qui tourne en même temps [ par Dr_shaman ] Bonjour, <v:path gradientshapeok="t" o:co Gérer le débit d'un flux [ par maitredede ] Bonjour,J'ai une connexions TCP entre mon appli client (object System.Net.TcpClient) et mon serveur.Ils communiquent en passant par un NetworkStream ( Éviter qu'une thread perde la main [ par narfight ] Bonjour,Je voudrais savoir comment signaler qu'une partie de mon code exécuté dans une thread soit éxécuté en 1 seul fois et donc que le thread ne per Probleme multi threading [ par zabrat ] bonjour a tous j'ai une DataGridView que j'ai créé  dans mon thread principal (initializeComponents())de mon application. avant d'ajouter des lignes a Problème TcpClient et socket [ par Florentcrochet ] Bonjour ,nous souhaitons connecter deux ordinateurs , une erreur survient lors de l'utilisation de socket.connect.Aucune connexion n'a pu être établie


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,866 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales