


Exemples détaillés de tutoriels de développement de robots WeChat
Tutoriel de développement de la plateforme publique WeChat (4) Premiers pas avec des exemples : Robot (avec code source)
Dans l'article précédent, j'ai écrit le cadre de base. Beaucoup de gens peuvent se sentir confus. Voici un exemple simple. pour l'illustrer. Description, j'espère que cela pourra vous aider à résoudre le mystère.
1. Introduction à la fonction
Réaliser la fonction robot de service client en ligne via la plateforme publique WeChat. Les fonctions principales incluent : une conversation simple, une requête météo et d'autres services.
Ici, nous ne fournissons que des fonctions relativement simples, en nous concentrant sur l'utilisation de cet exemple pour illustrer le processus de développement spécifique de la plateforme publique. Il s'agit simplement d'une simple DÉMO et peut être étendue sur cette base si nécessaire.
Bien sûr, nous lancerons des exemples d'applications plus complexes à l'avenir.
2. Implémentation spécifique
1. Donner accès à l'interface
Je n'entrerai pas dans les détails ici, Reportez-vous au chapitre précédent. Tutoriel de développement de compte public WeChat (Partie 2) ) Construction du cadre de base
www.cnblogs.com/yank/p/3392394.html
2. Authentification de signature et demande de distribution
J'ai gagné Sans entrer dans les détails ici, reportez-vous au chapitre précédent, Tutoriel de développement de compte public WeChat (2) Construction du cadre de base
www.cnblogs.com/yank/p/3392394.html
3. et répondez
1) Suivre
Lorsque les utilisateurs de WeChat suivent des comptes publics, ils peuvent recevoir des invites appropriées. Il peut s'agir d'un message de bienvenue ou d'un conseil d'aide.
Entrez directement le code :
class EventHandler : IHandler { /// <summary> /// 请求的xml /// </summary> private string RequestXml { get; set; } /// <summary> /// 构造函数 /// </summary> /// <param name="requestXml"></param> public EventHandler(string requestXml) { this.RequestXml = requestXml; } /// <summary> /// 处理请求 /// </summary> /// <returns></returns> public string HandleRequest() { string response = string.Empty; EventMessage em = EventMessage.LoadFromXml(RequestXml); if (em.Event.Equals("subscribe",StringComparison.OrdinalIgnoreCase)) { //回复欢迎消息 TextMessage tm = new TextMessage(); tm.ToUserName = em.FromUserName; tm.FromUserName = em.ToUserName; tm.CreateTime = Common.GetNowTime(); tm.Content = "欢迎您关注***,我是大哥大,有事就问我,呵呵!\n\n"; response = tm.GenerateContent(); } return response; } }
2) Salutations
Échange simple de salutations, comme bonjour, aide, etc., tout comme nous utilisons WeChat pour discuter , mais notre programme répond à la réponse. Des fonctions spécifiques peuvent être ajoutées selon vos propres besoins.
WeChat est à l’origine une plateforme de communication. Ce cas peut être utilisé pour les robots de service en ligne, similaires aux robots de service client de Taobao, mais le nôtre est la version WeChat. Haha
En fait, c'est très simple, recevez le message de demande et faites correspondre la réponse en fonction des mots-clés. Bien sûr, il peut y avoir beaucoup de travail à faire ici, comme comment prendre en charge la correspondance intelligente, comment prendre en charge la correspondance floue, etc.
Le code est le suivant :
/// <summary> /// 文本信息处理类 /// </summary> public class TextHandler : IHandler { /// <summary> /// 请求的XML /// </summary> private string RequestXml { get; set; } /// <summary> /// 构造函数 /// </summary> /// <param name="requestXml">请求的xml</param> public TextHandler(string requestXml) { this.RequestXml = requestXml; } /// <summary> /// 处理请求 /// </summary> /// <returns></returns> public string HandleRequest() { string response = string.Empty; TextMessage tm = TextMessage.LoadFromXml(RequestXml); string content = tm.Content.Trim(); if (string.IsNullOrEmpty(content)) { response = "您什么都没输入,没法帮您啊,%>_<%。"; } else { if (content.StartsWith("tq", StringComparison.OrdinalIgnoreCase)) { string cityName = content.Substring(2).Trim(); response = WeatherHelper.GetWeather(cityName); } else { response = HandleOther(content); } } tm.Content = response; //进行发送者、接收者转换 string temp = tm.ToUserName; tm.ToUserName = tm.FromUserName; tm.FromUserName = temp; response = tm.GenerateContent(); return response; } /// <summary> /// 处理其他消息 /// </summary> /// <param name="tm"></param> /// <returns></returns> private string HandleOther(string requestContent) { string response = string.Empty; if (requestContent.Contains("你好") || requestContent.Contains("您好")) { response = "您也好~"; } else if (requestContent.Contains("傻")) { response = "我不傻!哼~ "; } else if (requestContent.Contains("逼") || requestContent.Contains("操")) { response = "哼,你说脏话! "; } else if (requestContent.Contains("是谁")) { response = "我是大哥大,有什么能帮您的吗?~"; } else if (requestContent.Contains("再见")) { response = "再见!"; } else if (requestContent.Contains("bye")) { response = "Bye!"; } else if (requestContent.Contains("谢谢")) { response = "不客气!嘿嘿"; } else if (requestContent == "h" || requestContent == "H" || requestContent.Contains("帮助")) { response = @"查询天气,输入tq 城市名称\拼音\首字母"; } else { response = "您说的,可惜,我没明白啊,试试其他关键字吧。"; } return response; } }
3) Interroger la météo
Cette fonction doit demander une requête en temps réel, demander le site Web officiel de publication de la météo et puis analysez sa valeur de retour, suivez Nous avons besoin du format, organisez les informations météorologiques et enfin envoyez-les aux clients WeChat.
Utilisation du traitement des messages texte.
Demande de l'utilisateur, entrez simplement : tq nom de la ville/pinyin/lettre initiale pour recevoir le message.
Message de réponse : (Prenons Pékin comme exemple)
北京 2013年11月6日 星期三 今天:(17℃~4℃)晴北风4-5级转3-4级4-5级转3-4级 24小时穿衣指数:天气冷,建议着棉服、羽绒服、皮夹克加羊毛衫等冬季服装。年老体弱者宜着厚棉衣、冬大衣或厚羽绒服。 明天:(14℃~3℃)晴转多云微风小于3级 48小时穿衣指数:天气冷,建议着棉服、羽绒服、皮夹克加羊毛衫等冬季服装。年老体弱者宜着厚棉衣、冬大衣或厚羽绒服。
Jetons un coup d'œil au code source :
class WeatherHelper { /// <summary> /// 城市集合字段 /// </summary> private static Dictionary<string, City> mCities; /// <summary> /// 城市集合 /// </summary> public static Dictionary<string, City> Cities { get { if (mCities == null) { LoadCities(); } return mCities; } } /// <summary> /// 加载城市 /// </summary> private static void LoadCities() { mCities = new Dictionary<string, City>(); mCities.Clear(); mCities.Add("101010100", new City() { Code = "101010100", Name = "北京", PinYin = "beijing", FristLetter = "bj" }); mCities.Add("101020100", new City() { Code = "101020100", Name = "上海", PinYin = "shanghai", FristLetter = "sh" }); mCities.Add("101200101", new City() { Code = "101200101", Name = "武汉", PinYin = "wuhai", FristLetter = "wh" }); } /// <summary> /// 获取城市的天气 /// </summary> /// <param name="name">城市名称、拼音或首字母</param> /// <returns></returns> public static string GetWeather(string name) { string result = string.Empty; string cityCode = string.Empty; //获取城市编码 IEnumerable<string> codes = from item in Cities where item.Value != null && (item.Value.Name.Equals(name, StringComparison.OrdinalIgnoreCase) || item.Value.PinYin.Equals(name, StringComparison.OrdinalIgnoreCase) || item.Value.FristLetter.Equals(name, StringComparison.OrdinalIgnoreCase)) select item.Value.Code; if (codes != null && codes.Count() > 0) { cityCode = codes.First<string>(); } //http请求,获取天气 if (!string.IsNullOrEmpty(cityCode)) { string url = "http://m.weather.com.cn/data/{0}.html"; url = string.Format(url, cityCode); WebRequest request = HttpWebRequest.Create(url); //超时时间为:2秒 request.Timeout = 2000; request.Credentials = CredentialCache.DefaultCredentials; WebResponse response = request.GetResponse(); StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); string weahterInfo = reader.ReadToEnd(); if (string.IsNullOrEmpty(weahterInfo)) { result = "暂时没有取到天气数据,请稍后再试"; } else { XmlDocument doc = JsonConvert.DeserializeXmlNode(weahterInfo); if (doc != null) { XmlNode node = doc.DocumentElement; if (node != null) { StringBuilder builder = new StringBuilder(); builder.Append(node["city"].InnerText).Append("\n"); builder.Append(node["date_y"].InnerText).Append(" ").Append(node["week"].InnerText).Append("\n"); builder.Append("今天:").Append("(").Append(node["temp1"].InnerText).Append(")").Append(node["weather1"].InnerText).Append(node["wind1"].InnerText).Append(node["fl1"].InnerText).Append("\n"); builder.Append("24小时穿衣指数:").Append(node["index_d"].InnerText).Append("\n"); builder.Append("明天:").Append("(").Append(node["temp2"].InnerText).Append(")").Append(node["weather2"].InnerText).Append(node["wind2"].InnerText).Append(node["fl2"].InnerText).Append("\n"); builder.Append("48小时穿衣指数:").Append(node["index48_d"].InnerText).Append("\n"); result = builder.ToString(); } } #region 天气json数据格式 /* { "weatherinfo": { "city": "北京", "city_en": "beijing", "date_y": "2013年11月4日", "date": "", "week": "星期一", "fchh": "11", "cityid": "101010100", "temp1": "17℃~5℃", "temp2": "16℃~5℃", "temp3": "18℃~4℃", "temp4": "17℃~5℃", "temp5": "14℃~6℃", "temp6": "14℃~2℃", "tempF1": "62.6℉~41℉", "tempF2": "60.8℉~41℉", "tempF3": "64.4℉~39.2℉", "tempF4": "62.6℉~41℉", "tempF5": "57.2℉~42.8℉", "tempF6": "57.2℉~35.6℉", "weather1": "晴转多云", "weather2": "多云", "weather3": "多云转晴", "weather4": "晴转多云", "weather5": "多云转阴", "weather6": "阴转晴", "img1": "0", "img2": "1", "img3": "1", "img4": "99", "img5": "1", "img6": "0", "img7": "0", "img8": "1", "img9": "1", "img10": "2", "img11": "2", "img12": "0", "img_single": "0", "img_title1": "晴", "img_title2": "多云", "img_title3": "多云", "img_title4": "多云", "img_title5": "多云", "img_title6": "晴", "img_title7": "晴", "img_title8": "多云", "img_title9": "多云", "img_title10": "阴", "img_title11": "阴", "img_title12": "晴", "img_title_single": "晴", "wind1": "微风", "wind2": "微风", "wind3": "微风", "wind4": "微风", "wind5": "微风", "wind6": "北风4-5级", "fx1": "微风", "fx2": "微风", "fl1": "小于3级", "fl2": "小于3级", "fl3": "小于3级", "fl4": "小于3级", "fl5": "小于3级", "fl6": "4-5级", "index": "较冷", "index_d": "建议着大衣、呢外套加毛衣、卫衣等服装。体弱者宜着厚外套、厚毛衣。因昼夜温差较大,注意增减衣服。", "index48": "冷", "index48_d": "天气冷,建议着棉服、羽绒服、皮夹克加羊毛衫等冬季服装。年老体弱者宜着厚棉衣、冬大衣或厚羽绒服。", "index_uv": "中等", "index48_uv": "弱", "index_xc": "适宜", "index_tr": "适宜", "index_co": "舒适", "st1": "17", "st2": "5", "st3": "17", "st4": "5", "st5": "18", "st6": "6", "index_cl": "适宜", "index_ls": "适宜", "index_ag": "极不易发" } } */ #endregion } } else { result = "没有获取到该城市的天气,请确定输入了正确的城市名称,如\'北京\'或者\'beijing\'或者\'bj\'"; } //返回 return result; } /// <summary> /// 内部类:城市 /// </summary> internal class City { /// <summary> /// 编码 /// </summary> public string Code { get; set; } /// <summary> /// 名称 /// </summary> public string Name { get; set; } /// <summary> /// 拼音 /// </summary> public string PinYin { get; set; } /// <summary> /// 拼音首字母 /// </summary> public string FristLetter { get; set; } } }
[ Recommandations associées]
1. Téléchargement du code source de la plateforme de compte public WeChat
2 Code source du système de commande Alizi
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





Le robot humanoïde Ameca est passé à la deuxième génération ! Récemment, lors de la Conférence mondiale sur les communications mobiles MWC2024, le robot le plus avancé au monde, Ameca, est à nouveau apparu. Autour du site, Ameca a attiré un grand nombre de spectateurs. Avec la bénédiction de GPT-4, Ameca peut répondre à divers problèmes en temps réel. "Allons danser." Lorsqu'on lui a demandé si elle avait des émotions, Ameca a répondu avec une série d'expressions faciales très réalistes. Il y a quelques jours à peine, EngineeredArts, la société britannique de robotique derrière Ameca, vient de présenter les derniers résultats de développement de l'équipe. Dans la vidéo, le robot Ameca a des capacités visuelles et peut voir et décrire toute la pièce et des objets spécifiques. Le plus étonnant, c'est qu'elle peut aussi

Dans le domaine de la technologie de l’automatisation industrielle, il existe deux points chauds récents qu’il est difficile d’ignorer : l’intelligence artificielle (IA) et Nvidia. Ne changez pas le sens du contenu original, affinez le contenu, réécrivez le contenu, ne continuez pas : « Non seulement cela, les deux sont étroitement liés, car Nvidia ne se limite pas à son unité de traitement graphique d'origine (GPU ), il étend son GPU. La technologie s'étend au domaine des jumeaux numériques et est étroitement liée aux technologies émergentes d'IA "Récemment, NVIDIA a conclu une coopération avec de nombreuses entreprises industrielles, notamment des sociétés d'automatisation industrielle de premier plan telles qu'Aveva, Rockwell Automation, Siemens. et Schneider Electric, ainsi que Teradyne Robotics et ses sociétés MiR et Universal Robots. Récemment, Nvidiahascoll

Rédacteur en chef du Machine Power Report : Wu Xin La version domestique de l'équipe robot humanoïde + grand modèle a accompli pour la première fois la tâche d'exploitation de matériaux flexibles complexes tels que le pliage de vêtements. Avec le dévoilement de Figure01, qui intègre le grand modèle multimodal d'OpenAI, les progrès connexes des pairs nationaux ont attiré l'attention. Hier encore, UBTECH, le « stock numéro un de robots humanoïdes » en Chine, a publié la première démo du robot humanoïde WalkerS, profondément intégré au grand modèle de Baidu Wenxin, présentant de nouvelles fonctionnalités intéressantes. Maintenant, WalkerS, bénéficiant des capacités de grands modèles de Baidu Wenxin, ressemble à ceci. Comme la figure 01, WalkerS ne se déplace pas, mais se tient derrière un bureau pour accomplir une série de tâches. Il peut suivre les commandes humaines et plier les vêtements

Cette semaine, FigureAI, une entreprise de robotique investie par OpenAI, Microsoft, Bezos et Nvidia, a annoncé avoir reçu près de 700 millions de dollars de financement et prévoit de développer un robot humanoïde capable de marcher de manière autonome au cours de la prochaine année. Et l’Optimus Prime de Tesla a reçu à plusieurs reprises de bonnes nouvelles. Personne ne doute que cette année sera celle de l’explosion des robots humanoïdes. SanctuaryAI, une entreprise canadienne de robotique, a récemment lancé un nouveau robot humanoïde, Phoenix. Les responsables affirment qu’il peut accomplir de nombreuses tâches de manière autonome, à la même vitesse que les humains. Pheonix, le premier robot au monde capable d'accomplir des tâches de manière autonome à la vitesse d'un humain, peut saisir, déplacer et placer avec élégance chaque objet sur ses côtés gauche et droit. Il peut identifier des objets de manière autonome

Les robots de balayage et de nettoyage sont l’un des appareils électroménagers intelligents les plus populaires auprès des consommateurs ces dernières années. La commodité d'utilisation qu'il apporte, voire l'absence d'opération, permet aux paresseux de libérer leurs mains, permettant aux consommateurs de « se libérer » des tâches ménagères quotidiennes et de consacrer plus de temps à ce qu'ils aiment. Une qualité de vie améliorée sous une forme déguisée. Surfant sur cet engouement, presque toutes les marques d'électroménager du marché fabriquent leurs propres robots de balayage et de nettoyage, rendant l'ensemble du marché des robots de balayage et de nettoyage très vivant. Cependant, l'expansion rapide du marché entraînera inévitablement un danger caché : de nombreux fabricants utiliseront la tactique de la mer de machines pour occuper rapidement plus de parts de marché, ce qui entraînera de nombreux nouveaux produits sans aucun point de mise à niveau. ce sont des modèles de "matriochka". Ce n'est pas une exagération. Cependant, tous les robots de balayage et de nettoyage ne sont pas

En un clin d’œil, les robots ont appris à faire de la magie ? On a vu qu'il avait d'abord ramassé la cuillère à eau sur la table, prouvant au public qu'il n'y avait rien dedans... Ensuite, il a mis l'objet en forme d'œuf dans sa main, puis a remis la cuillère à eau sur la table. et a commencé à « jeter un sort »... … Juste au moment où il a repris la cuillère à eau, un miracle s'est produit. L'œuf qui avait été initialement mis dedans a disparu et la chose qui a sauté s'est transformée en ballon de basket... Regardons à nouveau les actions continues : △ Cette animation montre un ensemble d'actions à une vitesse 2x, et cela se déroule sans problème uniquement en regardant. la vidéo à plusieurs reprises à une vitesse de 0,5x peut-elle être comprise. Finalement, j'ai découvert les indices : si la vitesse de ma main était plus rapide, je pourrais peut-être la cacher à l'ennemi. Certains internautes ont déploré que les compétences magiques du robot soient encore supérieures aux leurs : c'est Mag qui a réalisé cette magie pour nous.

Les 10 robots humanoïdes suivants façonnent notre avenir : 1. ASIMO : Développé par Honda, ASIMO est l'un des robots humanoïdes les plus connus. Mesurant 4 pieds de haut et pesant 119 livres, ASIMO est équipé de capteurs avancés et de capacités d'intelligence artificielle qui lui permettent de naviguer dans des environnements complexes et d'interagir avec les humains. La polyvalence d'ASIMO le rend adapté à une variété de tâches, allant de l'assistance aux personnes handicapées à la réalisation de présentations lors d'événements. 2. Pepper : Créé par Softbank Robotics, Pepper vise à être un compagnon social pour les humains. Avec son visage expressif et sa capacité à reconnaître les émotions, Pepper peut participer à des conversations, aider dans les commerces de détail et même fournir un soutien pédagogique. Poivrons

"The Legend of Zelda: Tears of the Kingdom" est devenu le jeu Nintendo le plus vendu de l'histoire. Non seulement Zonav Technology a apporté divers contenus communautaires "Zelda Creator", mais il est également devenu un nouveau cours d'ingénierie à l'université des États-Unis. du Maryland (UMD). Rewrite : The Legend of Zelda : Tears of the Kingdom est l'un des jeux Nintendo les plus vendus jamais enregistrés. Non seulement la technologie Zonav apporte un contenu communautaire riche, mais elle fait également partie du nouveau cours d'ingénierie de l'Université du Maryland. Cet automne, le professeur agrégé Ryan D. Sochol de l'Université du Maryland a ouvert un cours intitulé ".
