发呆机器人-可以按模式聊天.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
发呆机器人-可以按模式聊天

发呆机器人-可以按模式聊天这个程序是在ylsdd的防止发呆的程序的基础上改的.? 主要功能:? 防止发呆,过一段时间会发出一个Ctl+L;? 能按给定的模式响应聊天信息;? 可以自动回msg;? 把整个上bbs过程写在bbs.log里? 使用方法:? 把fd.c和bbs.rule放在同一目录下.? gcc?-o?fd?fd.c? *****fd? *****程序是缺省连smth的,如果用于其它bbs要做改动.请看相关注释行.? bbs.rule的定义方法是每行一个规则.? 表示空格..是匹配任何字符串的通配符,0,1,2,3,4用来存放匹配的子串.? 例如:? ==.把++踢的死去活来?/a一运气,0的腿就折了? 这句话就是定义了,当有人对聊天id为++的作如下动作:? ==rika?把?++?踢的死去活来? 那么就返回/a?一运气,rika的腿就折了? ==是smth上用的聊天提示符,若用于别的bbs请按实际情形改动.? //fd.c? #include?unistd.h? #include?signal.h? #include?fcntl.h? #include?termios.h? #include?sys/time.h? #include?sys/types.h? #include?sys/stat.h? #include?stdio.h? struct?termios?tsave;? int?match2(char?*mod,char?*set,char?*answer)? {? ?int?i,j,k,c,sign;? ?char?ar[5][50];? ?c=0;? ?j=0;k=0;? ?sign=0;? ?for(i=0;mod[i];i++)if(mod[i]==)mod[i]=?;? ?i=0;? ?while(mod[i])? ?{? ??if(mod[i]!=.)? ??{? ????if(mod[i]!=set[j])return?0;? ????i++;j++;? ??}? ??else? ??{? ???for(k=j+1;set[k];k++)? ???{? ????if(mod[i+1]==set[k](mod[i+2]==set[k+1]||set[k]0))? ????{? ??????i+=2;? ??????strncpy(ar[c],set+j,k-j);? ??????ar[c][k-j]=0;? ??????j=k+1;? ??????c++;? ??????break;? ????}? ???}? ???if(!set[k])return?0;? ??}? ?}? ?j=0;? ?for(i=0;answer[i];i++)? ?{? ??if(answer[i]=0answer[i]5)? ???for(k=0;ar[answer[i]-0][k];k++)set[j++]=ar[answer[i]-0][k];? ??else? ??{? ???if(answer[i]==)set[j++]=?;? ???else?set[j++]=answer[i];? ??}? ?}? ?set[j]=0;? ?return?1;? }? int?match(char?*buf,int?*l)? {? ?char?mod[1024],answer[1024];? ?FILE?*rulefile;? ?int?i;? ?for(i=0;buf[i];i++)if(buf[i]==7)? ?{? ??strcpy(buf,\r对不起,现在我不在,若有事请给我写信!);? ?//可以换成你自己要回的信息.? ??*l=strlen(buf);? ??buf[*l]=13;? ??return?1;? ?}? ?rulefile=fopen(bbs.rule,r);? ?while(fscanf(rulefile,%s?%s\n,mod,answer)==2)? ?{? ??if(match2(mod,buf,answer))? ??{? ???*l=strlen(buf);? ???buf[*l]=13;? ???fclose(rulefile);? ???return?1;? ??}? ?}? ?fclose(rulefile);? ?return?0;? }? void?scan_mode(void)? {??struct?termios?tbuf;? ???if(!isatty(0))?exit(1);? ???if(tcgetattr(0,tbuf)==-1)?exit(1);? ???tsave=tbuf;? ???tbuf.c_lflag=~(ECHO|ICANON|ISIG);

文档评论(0)

5201314118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065201001000004

1亿VIP精品文档

相关文档