Make your own free website on Tripod.com
รับทำ Homepage และ วิเคราะห์ข้อมูลงานวิจัยด้วย SPSS version 10.0.7 Tel: 06-1914469

BOT แบบ Tnt2

BOT คือ อะไร ?
Bot คือ หุ่นยนต์ที่ใช้ควบคุมห้องใน IRC ซึ่งก่อนที่เราจะทำ Bot เราต้องมี Shell Account ที่เค้ายอมอนุญาติให้ Run Bot ได้ และตัวคุณเองควรจะต้องรู้คำสั่งพื้นฐานเกี่ยวกับ Unix โดยคำสั่งที่ควรรู้ ก็มี Pico (คำสั่งแก้ไฟล์ Edit), Gzip (ขยายไฟล์ที่บีบอัด) แค่นี้ก็น่าพอแล้ว

ไฟล์ที่สำคัญในการทำ bot แบบ tnt2 เราจะมีอยู่ด้วยกัน 2 ไฟล์ คือ (Download กันเลยดีกว่า)
  • tnt2-Solaris.tgz
  • tnt2-common.tgz

    เมื่อเรา Download ไปเรียบร้อย เราต้องทำการ Upload ไฟล์ทั้งสองไฟล์ไปเก็บไว้ใน Shell Account ของคุณเอง โดยวิธีการ Upload คุณควรใช้โปรแกรมในการ Upload โดยผมของแนะนำโปรแกรม FTP95 ให้ใช้ เพราะผมคิดว่าใช้ง่ายดี Upload กันเสร็จหรือยังเอย เมื่อเสร็จแล้วมาใช้ มาเริ่มทำเลยดีกว่า

    ขั้นตอนแรกเราจะต้องทำการแตกไฟล์ tnt2-Solaris.tgz และ tnt2-common.tgz เสียก่อน โดยจะใช้คำสั่ง ดังนี้
    $ gzip -dc tnt2-Solaris.tgz|tar xvf - และ
    $ gzip -dc tnt2-common.tgz|tar xvf -
    เมื่อแตกไฟล์เรียบร้อยแล้วเราจะ Directory ที่ชื่อว่า tnt2-57e -7 ขึ้นมา ให้เราทำการเข้าไปใน Directory นี้เลย โดยใช้คำสั่ง ดังนี้
    $ cd tnt2-57e
    เข้ามาแล้วใช่หรือป่าวครับ ต่อไปนี้เราจะทำการแก้ไฟล์ที่ชื่อว่า infile.cfg ซึ่งไฟล์นี้จะเป็นที่เก็บรายละเอียดเกี่ยวกับ Bot ไม่ว่าจะเป็นชื่อ Bot,ชื่อเจ้าของ, กำหนดให้บอทเข้าห้องไหน Server อะไร, Deban แบบ Auto หรือป่าว เป็นต้น การเข้าไปแก้นั้นเราจะใช้คำสั่ง ดังนี้
    $ pico infile.cfg
    เข้ามาแล้วจะเห็นหน้าของไฟล์ infile.cfg ประมาณนี้
    ############################################################################
    ############ CONFIG FILE FOR TNT-II Version 5.7e ############
    ############ BY: ttone (tonys@access.mountain.net) ############
    ############ RELEASED: July 1997 ############
    ############################################################################
    #--------------------------------------------------------------------------#
    # PLEASE REFER TO "README.cfg" FILE FOR DETAILS
    #=========================================================================#
    # NOTES:
    # - The equal sign, "=", is optional in all settings, be they toggles
    # (1/0: true/false), numeric values, or strings.
    # - Toggle settings MUST be preceded by an exclamation mark or the
    # keyword "toggle ".
    # - Numeric value settings MUST be preceded by a percent sign, '%', or the
    # keyword "set ".
    # - String settings MUST be enclosed in quotation marks, '"'.
    #
    # config debug level: 0=none, 1=errors only, 2=every line
    แล้วเราเลื่อนลงมาเรื่อยๆ แล้วแก้ตามที่บอกนะตัวไหนที่ต้องเปลี่ยนหรือแก้ไข เราจะทำเป็นตัวอักษรสีแดง แล้วสีน้ำเงินอธิบายความหมาย จะได้เข้าใจ พึงระลึกไว้เสมอว่าถ้าขึ้นต้นด้วย "#" บรรทัดนั้นจะไม่มีความหมาย แล้ว save ให้กด Ctrl+x แล้วก็ Y
    ไฟล์ infile.cfg ให้แก้ตามรายละเอียดดังนี้
    OwnerNick = "NOT_SET" <----Nick ของ เจ้าของ Bot(level 999)
    OwnerEmail = "SomeUSER@machine.DOMAIN" <---Email ของเจ้าของ Bot
    OwnerUhost = "*!*SomeUSER@*.DOMAIN" <---รูปแบบ Nick!email@.com สามารถใช้ * ได้
    Nick "GrInS" <---Nick ของบอท ในกรณีที่ run หลายตัว จะไปเอาชื่อมาจากไฟล์ nicks.1
    # ! -- BOOLEANS: 0 = FALSE, 1 = TRUE
    !DieOnKill = 1 #DO EXIT when killed by IrcOP
    !Invisible = 1
    !Greet = 0
    !AntiIdle = 1 #Don't let self idle: default is TRUE
    TOGGLE CtcpRespond 1 #This is the same as !CtcpRespond 1
    Toggle NickFloodCheck 1
    Prefix | <---กำหนด Prefix ให้กับ อาจเปลี่ยนเป็น . หรือ , หรือ ; หรือ : ไว้ใช้เป็นสัญลักษณ์นำหน้าคำสั่ง
    UserName "username" <---ต้องพิมพ์เองนะ เป็นการกำหนด username ให้ Bot
    PrefixWord "nobody"
    IrcName "Smile! \b(: ข้อความ \b " <---ใส่ชื่อ Fullname ให้ Bot
    UpLoadDir "/tmp/"
    DownLoadDir "./"
    AwayMsg "ข้อความ" <---ประกาศAway ให้ Bot
    userlist "./users.1"
    aklist "./autokick.1"
    nicklist "./nicks.1"
    ignorelist "./ignores.1"
    # FORMAT: Server "server_name",server_port,"hostname","server_password" <---รูปแบบการใส่
    Server "irc.au.ac.th",6667
    <---ชื่อ Server ใน IRC และ Port ที่เล่นส่วนใหญ่เป็น 6667
    Server "ksc.au.ac.th",6667
    # Server "irc.pitt.edu",6667
    # Server "irc.pitt.edu",6665
    # Server "irc.xmission.com",6667
    # Server "irc.colorado.edu",6667

    Channel "#Surprise","nt","Topic ของ ห้อง" <---กำหนดห้องที่จะให้ Bot ไป รูปแบบคือ "ชื่อห้อง","mode","topic"
    # Mode "nslt 4"
    # Topic "Smiles for all "
    # %TopicResetInterval 49 # in minutes
    %QuoteInterval -1 # don't quote at all
    %EnfModeKickLevel 1 # nonusers cannot change enfmode
    %AutoDebanInterval = 360 # autodeban interval (in minutes)
    #NOTE: 0 = FALSE, 1 = TRUE
    !logchat 0
    !KickProtected 0 # if protected users can be kicked
    !DelayOp 1 # whether to delay auto-ops: USE IT!
    !AutoDeban 1 # auto-expire channel bans <---Bot แก้ Ban อัตโนมัติ ถ้าไม่ต้องการใส่ 0
    !Noserverop 1 # whether to deop nonuser ops by servers
    !Publiccmd 1 # whether commands can be public msgs
    !Stricttopic 0 # whether to enforce bot's topic
    !Protection 1 # user protection
    !AutoKick 1 # kick people on autokick
    !Enforcemode 1 # to enforce bot's mode for chan.
    !Autoop 1 # turn on auto-op in this chan.
    !Massprot 1 # check for mass modes protection
    !Idlekick 0 # whether to kick idle users
    # - set IdleTime accordingly!
    ตอนนี้ไฟล์ infile.cfg เราก็แก้เสร็จหมดแล้ว ต่อไปจะเป็นการสร้าง Password ให้กับเจ้าของ (Add Owner)
    $ ./tnt2 -u
    คำสั่ง ./tnt2 -u ไว้สำหรับสร้าง password ให้เจ้าของ
    $ ./tnt2 -u

    Invoking tnt2 userlist maintenance ...

    TnT-II v5.7e utility for managing userlist
    =======================================================
    Enter the file containing the userlist: users.1
    <---ตรงนี้จะให้พิมพ์ว่า users.1

    Now using userlist file: 'users.1'

    Menu
    ---------------------------------------------
    1. Show all users in userlist
    2. Show users matching a userhost pattern
    3. Show user by nick/bot login
    4. Remove a user by userhost
    5. Remove a user by nick/bot login
    6. Add user
    7. Add owner
    8. Change a user's profile by userhost

    s Save changes
    x|q EXIT (Unsaved changes will be lost.)

    Choice (? for menu) ===>
    Choice (? for menu) ===> 7 <---พิมพ์เลข 7 เพื่อเป็นการ Add Owner

    Nickname (up to 9 chars, use letters and numbers)? King
    <---ใส่ชื่อเจ้าของ Bot

    Userhost (as *!user@host)? *!*@*.*
    <---ใส่ Userhost หรือจะใช้ * แทนก็ได้

    Specify a password if desired; ENTER for none.
    A password must be between 5-8 characters long.
    Password? 4126972
    <---ใส่ Password ที่ต้องการ

    Owner to be added:
    -----------------------------------
    Nick : King
    Userhost : *!*@*.*
    Access : 999
    Channel(s) : *
    Password : 4126972
    Auto-Op : YES
    Prot. Level : 3
    ===================================

    Press 'Y' to add; any other key to abort: Y
    <---กด Y เพื่อยืนยันการ Add (ควรเป็นตัวพิมพ์ใหญ่ด้วย)

    Choice (? for menu) ===>
    Choice (? for menu) ===> s <---กด s เพื่อ Save ข้อมูล

    Successfully saved the current userlist to users.1

    Menu
    ---------------------------------------------
    1. Show all users in userlist
    2. Show users matching a userhost pattern
    3. Show user by nick/bot login
    4. Remove a user by userhost
    5. Remove a user by nick/bot login
    6. Add user
    7. Add owner
    8. Change a user's profile by userhost

    s Save changes
    x|q EXIT (Unsaved changes will be lost.)
    Choice (? for menu) ===> x <---กด x เพื่อออก

    Are you sure ([y]/n)? y
    <---กด y เพื่อยืนยันการออก
    Bye bye!

    $
    ตอนนี้ Bot ของคุณก็พร้อมที่จะ Run แล้วครับ เมื่อ Run แล้วไม่ปรากฏหน้าจอดังนี้ แสดงว่า Shell Account ไม่อนุญาติให้ Run Bot ครับ อันนี้ผมก็ช่วยอะไรไม่ได้แล้วล่ะ
    $ ./tnt2
    คำสั่ง ./tnt2 ไว้สำหรับ Run Bot
    $ ./tnt2

    TnT-II version 5.7e (c) 1995-1997 by ttone, compiled 08/19/97
    For more info or suggestions, please e-mail: tonys@access.mountain.net

    Running ./tnt2 in background. PID = 1400
    (If you need to terminate this process, type "kill 1400".)
    $
    คำสั่ง kill [Process] ไว้สำหรับฆ่า Bot หรือ ลบ Process
    $ kill 1400
    ถ้าคุณต้องการ Run Bot หลายๆ ตัว คุณจำเป็นต้องแก้อะไรเพิ่มอีกหน่อยนะครับ คือ คุณต้องกำหนดชื่อ ให้ Bot หลายๆชื่อ จะได้เข้าไปแล้วไม่ซ้ำกันครับ โดยไฟล์ที่ใช้เก็บ Nick bot ชื่อว่า nick.1 คำสั่งมีดังนี้
    $ pico nick.1
    เมื่อแก้เสร็จแล้วจะสั่ง Run Bot กี่ตัว ก็พิมพ์คำสั่ง ./tnt2 หลายรอบ

    ###########################################################
    #Nick List: ./nicks.1
    #Created: Sun Jul 20 14:47:40 1997 # (NOTE:Max of 16 nicks only!)
    # For TnT-II version 5.7e
    ###########################################################
    # FORMAT= index:nick
    1:SurrounD
    <---ใส่เพิ่มไปได้เรื่อยๆ สูงสุด 16 ชื่อ
    2:[[_SDDS_]]
    3:HI^FI
    4:^SRS^
    ### End of ./nicks.1