IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Aide Bot IRC (protocol RFC)


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 26
    Par défaut Aide Bot IRC (protocol RFC)
    Bonjours, je souhait développer un bot IRC pour l'instant juste une bot de base ne faisant rien, l'objectif étant d'avoir un bot qui gére des partie sur des serveurs counter strike et autre.
    Mon problème est que le serveur me répète Checking ident...
    et No ident response; username prefixed with ~

    Le .cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
     
    #include "stdafx.h"
    #include <iostream>
    #include <string.h>
    #include <stdio.h>
     
     
     
    using namespace std;
     
     
    #undef BUFSIZ
    #define BUFSIZ 8196
    #define IP_SERVER "dns.irc.server"
    #define PORT_SERVER 6667
    #define PASS_SERVER "lepass"
    #define CHAN "#Game"
    #define PASS_CHAN "test"
    #define BOT_NICK "Wait"
    #define BOT_USER "gamesu"
    #define BOT_MAIL "traning@hotmail.com"
    #define BOT_HOST "irc.server"
    #define BOT_REAL_NICK "nemekickpas"
     
    extern DWORD WINAPI bot_main(LPVOID);
     
    int main(){
     
     
     
            ircconnect(IP_SERVER,PORT_SERVER);
     
    }
     
     
     
     
    int ircconnect(char *ip,int port){
        char buffer[2048];
        char buffe[2048];
        char *ip_ircd = IP_SERVER;
        char tmp[BUFSIZ];
        char nick[BUFSIZ];
        char user[BUFSIZ];
        WSADATA WSAData;
        WSAStartup(MAKEWORD(2,0), &WSAData);
        SOCKET socketirc;
        SOCKADDR_IN sin;
        socketirc = socket(AF_INET, SOCK_STREAM, 0);
        sin.sin_addr.s_addr = inet_addr(ip_ircd);
        sin.sin_family = AF_INET;
        sin.sin_port=htons(port);
     
     
        int good=connect(socketirc, (SOCKADDR *)&sin, sizeof(sin));
        if(good !=0)
        {
                printf("error sock irc");
                system("PAUSE");
                return 0;
        }
        else
        {
     
     
        sprintf(tmp, "%s %s\n", "PASS", PASS_SERVER);
        send(socketirc, tmp, strlen(tmp), 0);
     
        sprintf(nick, "%s %s\n","NICK", BOT_NICK);
        send(socketirc, nick, strlen(nick), 0);
        recv(socketirc, buffer, 2048, 0);
        printf(buffer);
     
        sprintf(user,"%s %s %s %s : %s\n","USER",BOT_USER,BOT_MAIL,BOT_HOST,BOT_REAL_NICK);
        send(socketirc,user,strlen(user),0);
        recv(socketirc, buffer, 2048, 0);
        printf(buffer);
     
        sprintf(tmp,"%s %s %s\n","MODE",BOT_NICK,"+i");
        send(socketirc,tmp,strlen(tmp),0);
        recv(socketirc, buffer, 2048, 0);
        printf(buffer);
     
        sprintf(tmp,"%s %s %s\n","JOIN",CHAN,PASS_CHAN);
        send(socketirc,tmp,strlen(tmp),0);
        recv(socketirc, buffer, 2048, 0);
        printf(buffer);
     
        while(1)
        {
        memset(buffer, '\0', 2048);
        recv(socketirc, buffer, 2048, 0);
     
            if(strstr(buffer, "PING :"))
             {
                char* tmp = strdup(buffer);
                tmp = buffer + strlen("PING :") + 1;
                sprintf(buffer, "PONG :%s\n", tmp);
                send(socketirc, buffer, 0, 0);
                printf(buffer);
            }
     
     
     
        }
     
        return socketirc;
     
        }
    }

    Et le .h


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    #include "stdafx.h"
    #include <stdio.h>
    #include <stdlib.h>
    #include <winsock2.h>
    #include <windows.h>
    #include <stdlib.h>
    #include <string>
    #pragma comment(lib, "ws2_32.lib")
     
     
    #ifdef WIN32
    #define SOCKET_ERROR (-1) /* défini dans winsock.h */
    typedef struct sockaddr_in SOCKADDR_IN; /* idem */
    #endif
     
    int ircconnect(char *ip,int port);
     
    #endif
    Je suis debutant dsl si mon code est horrible

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Mon problème est que le serveur me répète Checking ident...
    et No ident response; username prefixed with ~
    C'est parfaitement normal.
    Si tu veux pas ce message, faut un serveur identd.

    Normalement, néanmoins, tu n'en as pas besoin pour te connecter à un serveur IRC. Tu peux donc l'ignorer.

Discussions similaires

  1. Aide pour Bot IRC Perl
    Par furious_mac dans le forum Langage
    Réponses: 3
    Dernier message: 06/09/2010, 18h24
  2. bot IRC: posix threads et autres remarques
    Par keikoz dans le forum Réseau
    Réponses: 6
    Dernier message: 19/11/2006, 00h52
  3. Bot irc, questions !
    Par Fabouney dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 02/08/2006, 11h28
  4. bot irc: problème d'affichage et d'envoie
    Par alceste dans le forum C++
    Réponses: 21
    Dernier message: 21/06/2006, 14h47
  5. Creation d'un bot IRC
    Par kedare dans le forum Bibliothèques tierces
    Réponses: 2
    Dernier message: 28/11/2005, 21h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo