Gaim / Auto Identify with NickServ

หลายคนอาจจะพอทราบแล้วว่าการรับส่ง IM ที่เป็น 8-bit ใน gaim นั้นมีปัญหาเพราะเขา assume ว่า 8-bit เป็น ISO-8859-1 เสมอ .. ผมเคยแฮ็กตรงนี้ไปแล้วโดยให้ assume ตาม locale ของระบบแทน (เช่น th_TH จะเป็น TIS-620) แล้วก็ตรวจสอบผู้รับด้วยว่าสามารถรับ UTF-8 ได้หรือไม่ ถ้าไม่ได้ก็จะส่งข้อความโดย encode ตาม locale เช่นกัน .. ผมส่งแพตช์นี้ไปให้ gaim ตั้งแต่สมัยเวอร์ชัน 0.6 กว่าๆ ทีมพัฒนาเขาเคยปฏิเสธไปทีนึงแล้ว แต่ระยะหลังเริ่มมีคนเจอปัญหาแบบเดียวกันนี้ในภาษาอื่นๆ เลยมีแรงสนับสนุนให้แก้ปัญหามากขึ้น ท้ายที่สุดปัญหาการแสดง IM ที่ยังรับ-ส่งเป็น 8-bit อยู่ก็ได้รับการแก้ไขแล้วใน CVS โดยตั้ง encoding สำหรับการรับส่งข้อความ 8-bit ได้ที่ preferences .. ต่อไปก็ไม่ต้องแพตช์เองแล้ว :D .. (อาจจะได้แพตช์เพื่อตั้ง default encoding เป็น TIS-620 แทน :P)

อีกเรื่องนึง เกี่ยวกับ gaim เหมือนกัน .. ผมใช้ gaim เข้า IRC เป็นประจำ เพราะปกติก็จะ online IM ด้วย gaim ตลอดอยู่แล้ว สำหรับ IRC จะน่ารำคาญนิดหน่อยตอน login เพราะผม register nickname ไว้กับ NickServ ของ irc.freenode.net เวลาเชื่อมเข้าเซิร์ฟเวอร์เลยต้อง identify ตัวเองด้วย .. ทำบ่อยๆ เข้าก็เลยคิดว่าหาวิธีให้มัน identify อัตโนมัติดีกว่า .. ก็พอดีว่า gaim มันสามารถตั้งให้ส่งข้อความเวลามี buddy sign-on, online, ฯลฯ เลยใช้วิธีนี้แหละง่ายดี .. วิธีการก็คือ

  1. เพิ่ม NickServ เข้ามาเป็น buddy ก่อน วิธีที่ง่ายๆ คือส่ง “/msg NickServ help” ไปทีนึง พอ dialog ของ NickServ ปรากฏก็เลือกเมนู Conversation » Add .. ทำตามขึ้นตอนเพิ่ม buddy จนเสร็จ
  2. คลิ๊กขวาที่ชื่อ NickServ ที่ปรากฏใน Buddy List จะปรากฏเมนูขึ้นมา ให้เลือก Add Buddy Pounce แล้ว gaim จะแสดง dialog New Buddy Pounce
  3. ตั้งค่าดังนี้
    • Account: เลือก irc account
    • Buddy Name: NickServ – ถ้าทำตามขั้นตอนมามันควรจะขึ้นเป็น NickServ อยู่แล้ว ก็ไม่ต้องไปแตะมัน
    • Pounce When: เลือก Sign on อย่างเดียว
    • Pounce Action: เลือก Send a message แล้วพิมพ์ข้อความ IDENTIFY ตามด้วยรหัสผ่านที่ใช้
    • เลือก Save this pounce after activate
    • กด Save

ทีนี้เวลาเข้า irc มันก็จะ identify เองอัตโนมัติ ไม่ต้องพิมพ์เองแล้ว :)

Added: gaim 0.82 เพิ่งรีลีสตะกี้ .. account ICQ ตั้ง default encoding ได้แล้ว :)