Advertisement
Guest User

FcBot BingTranslator

a guest
Sep 11th, 2011
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.19 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. using FcCore.Engine;
  7. using FcCore.Subspace;
  8. using FcCore.Subspace.Modules;
  9.  
  10. using DevoPoint.Framework.Extensions.BingTranslator;
  11.  
  12. namespace FcCore.Fc.Modules
  13. {
  14.     public class BingTranslator : IFcEngineModule
  15.     {
  16.         IChat chat;
  17.  
  18.         bool IFcEngineModule.OnLoad(IFcEngineHook engineHook)
  19.         {
  20.             BingTranslationExtension.BingAppID = "5BAAD00980E0BA6E487729CADD42478D9CA4D596";
  21.             if (engineHook.AttachModule<IChat>(out chat))
  22.             {
  23.                 chat.MessageRecieved += new MessageRecievedHandle(chat_MessageRecieved);
  24.                 return true;
  25.             }
  26.             return false;
  27.         }
  28.  
  29.         bool IFcEngineModule.OnUnload(IFcEngineHook enghineHook)
  30.         {
  31.             return true;
  32.         }
  33.  
  34.         void chat_MessageRecieved(object sender, MessageInfo mi)
  35.         {
  36.             if (mi.ChatType == ChatType.TeamBroadcast
  37.                 || mi.ChatType == ChatType.TeamMessage
  38.                 || mi.ChatType == ChatType.PrivateMessage)
  39.             {
  40.                 BingLanguage language = BingLanguage.None;
  41.                 String translatedText = String.Empty;
  42.                 try
  43.                 {
  44.                     language = mi.Message.DetectLanguage();
  45.                     if (language != BingLanguage.English && language != BingLanguage.None)
  46.                     {
  47.                         translatedText = mi.Message.BingTranslate(BingLanguage.English);
  48.                         //Make sure the translated string is not the same as the original string
  49.                         if ((String.Compare(mi.Message, translatedText, true) != 0))
  50.                         {
  51.                             String output = String.Format("{0} -> English: {1}> {2}", language.ToString(), mi.SenderPlayerName, translatedText);
  52.                             chat.Send(mi.ChatType, mi.SenderPlayerId, output, SoundType.None);
  53.                         }
  54.                     }
  55.                 }
  56.                 catch (Exception e)
  57.                 {
  58.                     Console.WriteLine(e.Message);
  59.                 }
  60.             }
  61.         }
  62.     }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement