100% found this document useful (5 votes)
88 views

Building Telegram Bots: Develop Bots in 12 Programming Languages Using The Telegram Bot API 1st Edition Nicolas Modrzyk

Bot

Uploaded by

nduluesrzic
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (5 votes)
88 views

Building Telegram Bots: Develop Bots in 12 Programming Languages Using The Telegram Bot API 1st Edition Nicolas Modrzyk

Bot

Uploaded by

nduluesrzic
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 62

Download the full version of the textbook now at textbookfull.

com

Building Telegram Bots: Develop Bots in 12


Programming Languages using the Telegram Bot
API 1st Edition Nicolas Modrzyk

https://textbookfull.com/product/building-
telegram-bots-develop-bots-in-12-programming-
languages-using-the-telegram-bot-api-1st-edition-
nicolas-modrzyk/

Explore and download more textbook at https://textbookfull.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Developing bots with Microsoft Bots Framework: create


intelligent bots using MS Bot Framework and Azure
Cognitive Services 1st Edition Srikanth Machiraju
https://textbookfull.com/product/developing-bots-with-microsoft-bots-
framework-create-intelligent-bots-using-ms-bot-framework-and-azure-
cognitive-services-1st-edition-srikanth-machiraju/
textbookfull.com

Introducing Azure Bot Service Building Bots for Business


Waghmare

https://textbookfull.com/product/introducing-azure-bot-service-
building-bots-for-business-waghmare/

textbookfull.com

Practical Bot Development: Designing and Building Bots


with Node.js and Microsoft Bot Framework Szymon Rozga

https://textbookfull.com/product/practical-bot-development-designing-
and-building-bots-with-node-js-and-microsoft-bot-framework-szymon-
rozga/
textbookfull.com

Management, 16e Stephen P. Robbins

https://textbookfull.com/product/management-16e-stephen-p-robbins/

textbookfull.com
Bodyweight Strength Training 12 Weeks to Build Muscle and
Burn Fat 1st Edition Jay Cardiello

https://textbookfull.com/product/bodyweight-strength-
training-12-weeks-to-build-muscle-and-burn-fat-1st-edition-jay-
cardiello/
textbookfull.com

Contemporary Empirical Methods in Software Engineering


Michael Felderer

https://textbookfull.com/product/contemporary-empirical-methods-in-
software-engineering-michael-felderer/

textbookfull.com

The Shias of Pakistan: An Assertive and Beleaguered


Minority 1st Edition Andreas Rieck

https://textbookfull.com/product/the-shias-of-pakistan-an-assertive-
and-beleaguered-minority-1st-edition-andreas-rieck/

textbookfull.com

Measuring business interruption losses and other


commercial damages: an economic approach Third Edition
Gaughan
https://textbookfull.com/product/measuring-business-interruption-
losses-and-other-commercial-damages-an-economic-approach-third-
edition-gaughan/
textbookfull.com

Only Fear Mindhunters 1 1st Edition Anne Marie Becker

https://textbookfull.com/product/only-fear-mindhunters-1-1st-edition-
anne-marie-becker/

textbookfull.com
Endophytes Mineral Nutrient Management 1st Edition Dinesh
Kumar Maheshwari (Editor)

https://textbookfull.com/product/endophytes-mineral-nutrient-
management-1st-edition-dinesh-kumar-maheshwari-editor/

textbookfull.com
Building
Telegram Bots
Develop Bots in 12 Programming
Languages using the Telegram
Bot API

Nicolas Modrzyk
Building Telegram
Bots
Develop Bots in
12 Programming Languages
using the Telegram Bot API

Nicolas Modrzyk
Building Telegram Bots: Develop Bots in 12 Programming Languages using
the Telegram Bot API
Nicolas Modrzyk
Tokyo, Tokyo, Japan

ISBN-13 (pbk): 978-1-4842-4196-7 ISBN-13 (electronic): 978-1-4842-4197-4


https://doi.org/10.1007/978-1-4842-4197-4
Library of Congress Control Number: 2018965498

Copyright © 2019 by Nicolas Modrzyk


This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or
part of the material is concerned, specifically the rights of translation, reprinting, reuse of
illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way,
and transmission or information storage and retrieval, electronic adaptation, computer software,
or by similar or dissimilar methodology now known or hereafter developed.
Trademarked names, logos, and images may appear in this book. Rather than use a trademark
symbol with every occurrence of a trademarked name, logo, or image, we use the names, logos,
and images only in an editorial fashion and to the benefit of the trademark owner, with no
intention of infringement of the trademark.
The use in this publication of trade names, trademarks, service marks, and similar terms, even if
they are not identified as such, is not to be taken as an expression of opinion as to whether or not
they are subject to proprietary rights.
While the advice and information in this book are believed to be true and accurate at the date of
publication, neither the author nor the editors nor the publisher can accept any legal
responsibility for any errors or omissions that may be made. The publisher makes no warranty,
express or implied, with respect to the material contained herein.
Managing Director, Apress Media LLC: Welmoed Spahr
Acquisitions Editor: Nikhil Karkal
Development Editor: Matthew Moodie
Coordinating Editor: Divya Modi
Cover designed by eStudioCalamar
Cover image designed by Freepik (www.freepik.com)
Distributed to the book trade worldwide by Springer Science+Business Media New York,
233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505,
e-mail [email protected], or visit www.springeronline.com. Apress Media, LLC is a
California LLC and the sole member (owner) is Springer Science+Business Media Finance Inc
(SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.
For information on translations, please e-mail [email protected], or visit www.apress.com/
rights-permissions.
Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook
versions and licenses are also available for most titles. For more information, reference our Print
and eBook Bulk Sales web page at www.apress.com/bulk-sales.
Any source code or other supplementary material referenced by the author in this book is available
to readers on GitHub via the book’s product page, located at www.apress.com/978-1-4842-4196-7.
For more detailed information, please visit www.apress.com/source-code.
Printed on acid-free paper
Table of Contents
About the Author���������������������������������������������������������������������������������ix
About the Technical Reviewers�����������������������������������������������������������xi
Acknowledgments�����������������������������������������������������������������������������xiii
Introduction����������������������������������������������������������������������������������������xv

Chapter 1: Week 1: Ruby����������������������������������������������������������������������1


Chatting with the BotFather����������������������������������������������������������������������������������1
Setting Up Ruby����������������������������������������������������������������������������������������������������7
Your First Telegram Bot�����������������������������������������������������������������������������������������8
Understanding Received Messages Fields���������������������������������������������������������14
First Reply�����������������������������������������������������������������������������������������������������������15

Chapter 2: Week 2: Nim����������������������������������������������������������������������17


Installing Nim������������������������������������������������������������������������������������������������������17
Nim Plug-in for Visual Studio Code���������������������������������������������������������������������18
Hello, Nim������������������������������������������������������������������������������������������������������������20
Second Nim Program (Still Not Bot)��������������������������������������������������������������������23
Creating Visual Studio Code Build Tasks�������������������������������������������������������������25
Installing Nim Packages with Nimble�����������������������������������������������������������������29
First Nim Bot�������������������������������������������������������������������������������������������������������31
Replying to Nim Bot��������������������������������������������������������������������������������������������33
Cats and Dogs Nim Bot���������������������������������������������������������������������������������������34

iii
Table of Contents

Chapter 3: Week 3: Crystal�����������������������������������������������������������������37


Setting Up Crystal�����������������������������������������������������������������������������������������������38
Short Walk in the Playground������������������������������������������������������������������������������39
Going Visual Studio Code Again��������������������������������������������������������������������������41
Creating a Crystal Project�����������������������������������������������������������������������������������46
Echo Bot��������������������������������������������������������������������������������������������������������������50
Command Bot�����������������������������������������������������������������������������������������������������52

Chapter 4: Week 4: Rust���������������������������������������������������������������������57


Rust Installation and First Steps�������������������������������������������������������������������������58
Installation�����������������������������������������������������������������������������������������������������58
First Rust or Two�������������������������������������������������������������������������������������������������62
Hello Rust������������������������������������������������������������������������������������������������������62
Fibonacci�������������������������������������������������������������������������������������������������������64
Ride the cargo�����������������������������������������������������������������������������������������������������66
We Have Time������������������������������������������������������������������������������������������������66
Multiple Cargo Targets����������������������������������������������������������������������������������������70
Rust Bot Number 1: Reply to Me�������������������������������������������������������������������������74
Rust Bot Number 2: Where Is Tokyo?������������������������������������������������������������������77
Rust Bot Number 3: Chained Reaction����������������������������������������������������������������82
Compiling for Release�����������������������������������������������������������������������������������������84

Chapter 5: Week 5: D��������������������������������������������������������������������������85


Installation and First D Steps������������������������������������������������������������������������������86
Some Bits of D on Concurrency��������������������������������������������������������������������������91
Simple Threading�������������������������������������������������������������������������������������������91
Thread with a State���������������������������������������������������������������������������������������92
Shared State��������������������������������������������������������������������������������������������������94

iv
Table of Contents

A Few More Examples of D���������������������������������������������������������������������������������95


Sort Me Tender, Sort Me True�������������������������������������������������������������������������95
My Love for Fibonacci�����������������������������������������������������������������������������������98
Telegram Bots in D��������������������������������������������������������������������������������������������100
Meet dub�����������������������������������������������������������������������������������������������������������100
First D Bot����������������������������������������������������������������������������������������������������105
More Bot API Usage�������������������������������������������������������������������������������������107

Chapter 6: Week 6: C++��������������������������������������������������������������������111


Requirements, Installation, and First Bot����������������������������������������������������������111
Install tgbot-cpp������������������������������������������������������������������������������������������112
Install OpenCV���������������������������������������������������������������������������������������������113
File Download Program�������������������������������������������������������������������������������113
Echo Bot������������������������������������������������������������������������������������������������������������119
C++ Bots�����������������������������������������������������������������������������������������������������������123
Bot with Inline Keyboard�����������������������������������������������������������������������������123
Photo Bot�����������������������������������������������������������������������������������������������������126
OpenCV in action�����������������������������������������������������������������������������������������������128
OpenCV Sample Program����������������������������������������������������������������������������128
OpenCV Bot�������������������������������������������������������������������������������������������������������131

Chapter 7: Week 7: Clojure���������������������������������������������������������������135


Initial Setup and First Clojure Bot���������������������������������������������������������������������136
Visual Studio Code���������������������������������������������������������������������������������������141
The Project Metadata in project.clj��������������������������������������������������������������142
The Clojure Code in core.clj�������������������������������������������������������������������������143
The Token!���������������������������������������������������������������������������������������������������146
Debugging Telegram Messages�������������������������������������������������������������������146

v
Table of Contents

Creating a Reverse Bot��������������������������������������������������������������������������������148


Inline Handler����������������������������������������������������������������������������������������������149
A Simple Weather Bot���������������������������������������������������������������������������������������150
OpenCV and Telegram: Origami Bot������������������������������������������������������������������154

Chapter 8: Week 8: Java�������������������������������������������������������������������159


Installation��������������������������������������������������������������������������������������������������������159
The Project Structure����������������������������������������������������������������������������������161
The build.gradle file�������������������������������������������������������������������������������������161
Visual Studio Code Setup����������������������������������������������������������������������������164
First Java Bot����������������������������������������������������������������������������������������������������165
Send Some Text�������������������������������������������������������������������������������������������167
Send a Photo�����������������������������������������������������������������������������������������������169
Bot with Invoice Capabilities�����������������������������������������������������������������������������170
Asking Permission���������������������������������������������������������������������������������������170
Sending an Invoice Message����������������������������������������������������������������������������173

Chapter 9: Week 9: Go����������������������������������������������������������������������181


Installation of Go�����������������������������������������������������������������������������������������������182
Let’s Go�������������������������������������������������������������������������������������������������������������184
Let’s Fib������������������������������������������������������������������������������������������������������������190
First Bot in Go���������������������������������������������������������������������������������������������������193
Just Sending Pictures���������������������������������������������������������������������������������������197

Chapter 10: Week 10: Elixir��������������������������������������������������������������201


Installation��������������������������������������������������������������������������������������������������������202
Using iex������������������������������������������������������������������������������������������������������203
Using mix�����������������������������������������������������������������������������������������������������204
Running iex with mix�����������������������������������������������������������������������������������205

vi
Table of Contents

Project Structure of a mix Project���������������������������������������������������������������������206


config.exs����������������������������������������������������������������������������������������������������207
mix.exs��������������������������������������������������������������������������������������������������������208
Dependencies����������������������������������������������������������������������������������������������209
telegrambox.ex��������������������������������������������������������������������������������������������212
(Back to) Dependencies�������������������������������������������������������������������������������213
Get Something��������������������������������������������������������������������������������������������������216
GetMe����������������������������������������������������������������������������������������������������������216
GetChat��������������������������������������������������������������������������������������������������������217
GetFile���������������������������������������������������������������������������������������������������������218
Using Elixir’s System�����������������������������������������������������������������������������������219
SendPhoto���������������������������������������������������������������������������������������������������220
Telegram Bot�����������������������������������������������������������������������������������������������������221
Bot1: Anything Goes������������������������������������������������������������������������������������221
Bot2: Fibonacci��������������������������������������������������������������������������������������������222

Chapter 11: Week 11: Node.js�����������������������������������������������������������225


Meet RunKit������������������������������������������������������������������������������������������������������226
Creating an Account������������������������������������������������������������������������������������226
First Code on RunKit������������������������������������������������������������������������������������229
A Certain Je Ne Sais Koa�����������������������������������������������������������������������������230
Publishing Some Koa�����������������������������������������������������������������������������������232
Telegram Bot with Webhooks����������������������������������������������������������������������������234
More on the Telegraf Library�����������������������������������������������������������������������������239
Image-to-Chat Example�������������������������������������������������������������������������������239
RegExp, Inline Keyboards, and Embedded Emojis���������������������������������������240

vii
Table of Contents

Running Node.js Locally������������������������������������������������������������������������������������242


Setting Up Node.js���������������������������������������������������������������������������������������243
Using Local Tunnel���������������������������������������������������������������������������������������244

Chapter 12: Week 12: Python�����������������������������������������������������������247


Installation��������������������������������������������������������������������������������������������������������248
A Few Python Programs������������������������������������������������������������������������������������250
Fibonacci 1��������������������������������������������������������������������������������������������������250
Fibonacci 2��������������������������������������������������������������������������������������������������252
Fibonacci 3��������������������������������������������������������������������������������������������������253
Fibonacci 4��������������������������������������������������������������������������������������������������254
Fibonacci 5��������������������������������������������������������������������������������������������������255
First Telegram with Python�������������������������������������������������������������������������������256
First Bot: Send a Random Photo�����������������������������������������������������������������������258
First OpenCV Bot: Changing the Color Space of a Picture���������������������������������260
Second OpenCV Bot: Count Faces���������������������������������������������������������������������262
TensorFlow to Close the Show��������������������������������������������������������������������������265

Index�������������������������������������������������������������������������������������������������271

viii
About the Author
Nicolas Modrzyk has more than 15 years of
IT experience in Asia, Europe, and the United
States and is currently CTO of an international
consulting company in Tokyo, Japan. He is
the author of four other published books,
mostly focused on the Clojure language and
expressive code. When not bringing new
ideas to customers, he spends time with his
two fantastic daughters, Mei and Manon, and
playing live music internationally.

ix
Visit https://textbookfull.com
now to explore a rich
collection of eBooks, textbook
and enjoy exciting offers!
About the Technical Reviewers
Dushyant Rathore is currently working as
a firmware engineer with Western Digital.
His experience includes full-stack web
development, machine learning, decentralized
applications, and others. Dushyant has worked
on several kinds of projects related to IoT,
chatbots, web sites, scrapers, command-
line tools, and machine learning projects,
among others, at various startups. He has participated in national and
international hackathons and has won a few of them. He is a big cloud
computing enthusiast.

Sham Satyaprasad has been a full-stack


software developer for more than four years,
having completed a master’s degree in
embedded systems from Manipal University.
He prides himself on writing highly efficient,
readable, and maintainable code and strongly
believes that coding is an art as much as it is
science. Sham has recently developed a keen
interest in NLP, ML, and data science and has been busy wrapping his
head around these topics.

xi
Acknowledgments
It’s been yet another typing race to get this book out on time and beat the
odds. Divya and Nikhil, thank you so much for teaming up again. I’m really
looking forward to our next collaboration!
I received support from so many people that it would take another
book just to write the list of names. Nevertheless…
Thank you to my sister, Emily, my brother, Gregor, Mum and Dad,
family, cousins, uncles, aunts, friends, Abe-san, Sawada-san, Gucci,
Marshall, Momo, my soulmate Sachiko, soccer friends (I would break a
knee for you), the Irish crew still enjoying Guinness (one more for me!),
the awesome people in America (who always find the LPs I’m missing),
Chris and the Biners, the French team that’s always there to support
me, even without being asked, and the people deep in my heart, for
your never-­ending support. I could not have finished this without you.
I appreciate you all so much.
And, of course, thank you to my two wonderful daughters, Mei and
Manon, for keeping up and always doing your best, even during hard
times. You rock! I love you.

xiii
Introduction
With a hundred ways to do a dozen things, why not try it all?
—Julian Casablancas

Have you ever wondered how you could accomplish more by doing less,
how you could have a sort of double who does all the work while you enjoy
some cool beachside or spend more outdoor time with your beautiful
children? I always have.
I am a big fan of the Telegram chat platform. Let’s call it a platform,
because it is more than a simple chat service with which you can stay in
touch with people who matter to you most. It also enables you to think in
ways you haven’t before.
For example, living in Tokyo, you always care about what time the last
train home is going to depart. I guess most people in big cities around the
globe probably have that same concern. Checking the clock only every so
often can result in a terrible and/or expensive taxi ride, so I started wanting
something that automatically offered me a bunch of options to get home.
The first bot I wrote was to tell me the schedule of the last few trains
home and some different options, from the easiest to reach before the last
few departures to the very latest, which I would have to dash to catch. That
saved me quite a bit of money.
The second bot I wrote was slightly more IoT-oriented. It used a
webcam to send me via Telegram pictures of people who rang my doorbell.
The third one, I also remember, was kind of stupid. It was to use a mini
projector to display the most recent message coming through a Telegram
chat room. (It’s very entertaining to view random messages during a small
party at home.)

xv
Introduction

But there are so many things for which to try to build a bot—search
for a plane ticket, check your fridge, etc. Having a bot is a simple way
to facilitate all the things you do daily, using the same kind of simple
Telegram chat rooms to get answers to questions related to daily life or to
issue commands and conquer the world.
This relatively short book is about learning how to write Telegram
bots in several different programming languages. Why not use one
and stick to it? you might ask. Well, because there’s not one answer to
all questions, and what’s right for others might not be suitable for you.
Exploring different programming languages is also a fun way to examine
the strengths of each language while performing the same tasks. Each of
the Telegram concepts can be introduced one after the other, in a simple
fashion.
Or, you could just jump in and choose the language you want to try and
get started in no time. Some people want it to happen; some wish it would
happen; others make it happen. So, enjoy reading this book, and make it
happen.

xvi
CHAPTER 1

Week 1: Ruby
Mindful Monday Humans, may your coffee kick in before
reality does.
—Napz Cherub Pellazo

Ruby took the world by storm a while ago, owing to the ease and concision
of the code you can write with it. Most programmers have a sweet spot for
Ruby, and when their shell scripts and day-to-day lives get too messy, they
are usually very quick to switch to Ruby.
This first chapter is a bit special, because on top of creating a client
for our bot, I must also introduce you to how to create the bot itself.
Throughout the book, this first bot will be reused at will, although, of
course, the same steps used to make it could be used to create a bot army
and conquer the world!

C
 hatting with the BotFather
To register your own Telegram bot, you must talk to the father of all bots.
This bot father has a name, BotFather; Brad or Vladimir just doesn’t cut it.
He can be reached via Telegram as @BotFather.
BotFather does not sleep and can be reached at any time of day.
BotFather does take showers and always looks fresh. Here is the last profile
picture we have of this handsome bot (Figure 1-1).

© Nicolas Modrzyk 2019 1


N. Modrzyk, Building Telegram Bots, https://doi.org/10.1007/978-1-4842-4197-4_1
Chapter 1 Week 1: Ruby

Figure 1-1. BotFather’s latest profile picture

Finding BotFather is not so difficult; you just have to type his name,
“@BotFather,” in the Telegram list of people in the search box of your
Telegram client (Figure 1-2).

Figure 1-2. Looking for BotFather

2
Chapter 1 Week 1: Ruby

In the preceding list, the name is the one at the bottom. Next, start a
new chat with BotFather by clicking it.
Once the chat is started, you will also be welcomed by our handsome
bot, with a cordial message about APIs, free help, and an invitation to start
the chat (Figure 1-3).

Figure 1-3. Ready?

Once the chat has begun (by pressing the Start button that you can see
at the bottom), you are welcomed by BotFather with a bunch of options on
how to create or edit your list of bots (Figure 1-4).

3
Chapter 1 Week 1: Ruby

Figure 1-4. Say hello to BotFather

4
Chapter 1 Week 1: Ruby

Great! I won’t review the full list of options now but will start just by
creating our new bot. This is done here by typing in the /newbot command
and then following a simple conversation, such as the one in Figure 1-5.

Figure 1-5. Ask BotFather, please, please, for a new bot

Your bot is now ready to use. Can you see in red something like a
secret code? This is the bot token, which is a chain of characters that
will be used to uniquely identify and authenticate your bot against
the Telegram platform. Do not give away this token. Don’t write it in
a book or allow it to hang somewhere on GitHub, especially now that
Microsoft owns it.

5
Chapter 1 Week 1: Ruby

In our case, in the preceding chat, the token that was generated and
given to use is the one following:

624028896:AAFGfIXp3FEPtX1_S2zmHodHRNpu_wD1acA

If your token, like this one, ever becomes compromised, you can use
the /token command with the bot father, to generate a new token, as
shown in the conversation in Figure 1-6.

Figure 1-6. Chat to generate a new token

Alright, the registration of our Telegram bot is all done. So, let’s switch
to a little bit of coding in Ruby.

6
Visit https://textbookfull.com
now to explore a rich
collection of eBooks, textbook
and enjoy exciting offers!
Chapter 1 Week 1: Ruby

S
 etting Up Ruby
Ruby, on most Unix-like platforms, including OS X, is already installed,
or it can be installed using a package manager. For those running lesser
operating systems, like Windows, you can download and install the Ruby
installer (Figure 1-7) from the Ruby download page at www.ruby-lang.
org/en/downloads/. Download the most recent version.

Figure 1-7. Looking for the Windows Ruby installer

After the installation is complete, if you open a terminal (on macOS),


or a command prompt on Windows (Figure 1-8), and can type in the
following commands without getting an error, you are all set:

ruby -v
gem -v

7
Chapter 1 Week 1: Ruby

Figure 1-8. Checking ruby and gem versions

If you have never used Ruby before, you may be wondering what the
gem executable is? It’s simply a Ruby-specific installer for libraries (just like
npm is for Node and pip is for Python), so when you require some open
source library that has been written by someone else, you would use gem to
get it on your machine and the ruby executable to run it.
Apart from Ruby, to have some coding fun outside Notepad, you also
need a text editor, so I propose to use Microsoft’s Visual Studio Code
(https://code.visualstudio.com/), but, of course, any of your favorite
text editors will do.
Alright, let’s get started and code our first bot.

Your First Telegram Bot


To get to talk to our first bot, we will use the Ruby library named
telegram_bot. There are a few other famous libraries that you can find
on RubyGems (https://rubygems.org/), but I find this library to be an
easy one to start and get going with, and I hope you come to agree with
me about this in time.
Actually, you can check for yourself and find your favorite Telegram
library, by querying the RubyGems web site (Figure 1-9).

8
Chapter 1 Week 1: Ruby

Figure 1-9. Looking for gems

To use a library in Ruby, you install it on your machine first, to make it


available to your computer, by using the gem install command, and then
in your Ruby code, you use the *require* function, to make that library
available to your Ruby program.
Let’s create a new folder for this first bot. Change the directory and
then install the Telegram library with gem, as shown following:

mkdir chapter-01
cd chapter-01
gem install telegram_bot

9
Chapter 1 Week 1: Ruby

At the terminal, the output should be something similar to this:

SuperPinkicious:chapter-01 niko$ gem install telegram_bot


Successfully installed telegram_bot-0.0.8
Parsing documentation for telegram_bot-0.0.8
Done installing documentation for telegram_bot after 0 seconds
1 gem installed

The gem is now installed and ready to be used in your code.


Now, you are going to write some code to wake up your bot and make
it come alive. In a new file in that folder, which you can name step0.rb, for
example, let’s write the following lines of Ruby code:

require 'telegram_bot'

bot = TelegramBot.new(token: ENV['BOT_TOKEN'])


bot.get_updates() do |message|
    puts message.to_s
end

What that code does is

• Make the telegram_bot library, installed via gem,


available to your program
• Create a new Ruby bot object, using the Telegram
token exposed via an external variable. This is usually
the recommended way to share your bot code without
giving your bot token to everyone.

• Get the bot instance instantiated, to listen for incoming


messages, using the bot object get_updates() method

• Ensure that, now, whenever a message is sent to the


bot, the bot will print it on the console

10
Chapter 1 Week 1: Ruby

To run the preceding written program on your machine, you pass the
name of the program file, step0.rb, to the ruby executable. Let’s do it.
At the terminal, execute the following command:

ruby  step0.rb

Observe the output (Figure 1-10).

Figure 1-10. Sometimes, it just does not work

Oops! That did not go so well. We forgot to pass the Telegram token to
our program.
This can be done on Linux or OS X with the following:

export BOT_TOKEN='585672177:AAHswpmdA2zP52ZWoJMdteGa0xQ8KeynWvE'

And on Windows with

set BOT_TOKEN=585672177:AAHswpmdA2zP52ZWoJMdteGa0xQ8KeynWvE

Let’s run the program again. This time, it looks like the command
is not finishing… This is expected, as the bot is now actually waiting for
messages.
Let’s be the one to start the conversation, so let’s send a greeting
message.
In the Telegram window, search for the bot and start chatting
(Figure 1-­11).

11
Random documents with unrelated
content Scribd suggests to you:
of their country. The “Url-Ja,” a Chinese dictionary of that date, says
“they are very precious.”
Solomon’s pearls came from the Persian Gulf, India, and Ceylon,
and the queen of Sheba’s too. Rivers of Britain gave the author of
the “Commentaries” pearls to dedicate to Venus Genetrix, and to
present to that lovely assassin who melted two, costing ten million
sesterces, for a love philter, and seduced two Cæsars. Who can
forget the salad Philip II of Spain, the uxorious inquisitor, set upon
the royal table for his wife, Elizabeth of Valois, the leaves of which
were of emeralds, the vinegar of rubies, the oil of topazes, and the
salt of pearls? What more appetizing dish for a royal bride? The
Orientals make medicine of them to-day, and I myself have seen a
sultan burn pearls to make lime for chewing with the betel-nut.
The New World offered fresh preserves to pearl-hunters; primeval
grounds drew a horde of lusty blades to harry the red men’s
treasure-house. South and Central America fed the pearl hunger that
grew with the more even distribution of wealth through commerce,
and the rise of stout merchants on the Continent and the British
Islands. The Spanish king who gave his name to the Philippines got
from Venezuela a pearl that balanced an eighth of a pound. I saw it
in Madrid. These Paumotus and Australasia were the last to answer
yes to man’s ceaseless demand that the earth and the waters
thereof yield him more than bread for the sweat of his brow. On
many maps these atolls are yet inscribed as the Pearl Islands. About
their glorious lagoons was a mist of obscurity and of wonder for
centuries. Besides dangers to vessels, the cannibalism of savages,
the lack of any food except cocoanuts and fish, and stories of
strange happenings, there were accounts of divers who sank deeper
in the sea than science said was possible, and of priceless pearls
plundered or bought for a drinking-song.
Custom-houses and organized commerce had rung down the
curtain on the extravaganza of the past, but the romance of man
wrestling with the forces of nature in the element from which he
originally came, now so deadly to him, was yet a supreme attraction.
The day of the opening of the rahui came none too soon for me.
Nohea, my host, was to dive, and we had arranged that I was to be
in his canoe. I was assured by Mapuhi, and by Captain Nimau and
Kopcke, that despite the fact that his youth was gone, Nohea was
the best diver in Takaroa, and especially the shrewdest judge of the
worth of a piece of diving ground.
All the village went to the scene of the diving in a fleet of cutters
and canoes, sailing or paddling according to the goal and craft.
Nohea and I had a largish canoe, which, though with a small sail
woven of pandanus straw, could easily be paddled by us. He had
staked out a spot upon the lagoon that had no recognizable bearings
for me, but which he had long ago selected as his arena of action.
He identified it by its distance from certain points, and its association
with the sun’s position at a fixed hour.
We had risen before dawn to attend the Mormon church service
initiating the rahui. The rude coral temple was crowded when the
young elders from Utah began the service. Mapuhi, Nohea, and
leaders of the village sat on the forward benches. The prayer of
elder Overton was for the physical safety of the elected in the
pursuit they were about to engage in.
“Thou knowest, O God,” he supplicated, “that in the midst of life
we are in death.”
“E! E! Parau mau!” echoed the old divers, which is, “Yea, Verily!”
“These, thy children, O God, are about to go under the sea, but
not like the Chosen People in Israel, for whom the waters divided
and let them go dry-shod. But grant, O God, who didst send an
angel to Joseph Smith to show him the path to Thee through the
Book of Mormon, who didst lead thy new Chosen People through the
deserts and over the mountains, among wild beasts and the savages
who knew Thee not, to Thy capital on earth, Salt Lake City, that thy
loving worshipers here assembled shall come safely through this day,
and that Thy sustaining hand shall support them in those dark
places where other wild beasts lie in wait for them!”
“Parau mau!” said all, and the eyes of some of the women were
wet, for they thought of sons and lovers, fathers and brothers,
mothers and sisters, who had gone out upon the lagoon, and who
had died there among the coral rocks, or of whom only pieces had
been brought back. They sang a song of parting, and of
commending their bodies to the Master of the universe, and then
with many greetings and hearty laughter and a hundred jests about
expected good fortune, we parted to put the final touches on the
equipment for la pêche des huitres nacrières. Forgetting the quarter
of an hour of serious prayer and song in the temple, the natives
were now bubbling with eagerness for the hunt. Mapuhi himself was
like a child on the first day of vacation. These Paumotuans had an
almost perfect community spirit, for, while a man like Mapuhi
became rich, actually he made and conserved what the duller
natives would have failed to create from the resources about them,
or to save from the clutches of the acquisitive white, and he was
ready to share with his fellows at any time. He, as all other chiefs,
was the choice of the men of the atoll at a quadrennial election, and
held office and power by their sufferance and his own merits. None
might go hungry or unhoused when others had plenty. Civilization
had not yet inflicted on them its worst concomitants. They were too
near to nature.
After a light breakfast of bread and savory fried fish, to which I
added jam and coffee for myself, Nohea and I pushed off for our
wonder-fishing. In the canoe we had, besides paddles, two titea
mata, the glass-bottomed boxes for seeing under the surface of the
water, a long rope, an iron-hooped net, a smaller net or bag of coir,
twenty inches deep and a foot across, with three-inch meshes, a
bucket, a pair of plain-glass spectacles for under-water use, a jar of
drinking-water, and food for later in the day.
The sun was already high in the unclouded sky when we lifted the
mat sail, and glided through the pale-blue pond, the shores of which
were a melting contrast of alabaster and viridescence. All about us
were our friends in their own craft, and the single motor-boat of the
island, Mapuhi’s, towed a score of cutters and canoes to their
appointed places. A slender breeze sufficed to set us, with a few
tacks, at our exact spot. We furled our sail, stowed it along the
outrigger, and were ready for the plunge. We did not anchor the
canoe because of the profundity of the water and because it is not
the custom to do so. I sat with a paddle in my hand for a few
minutes but laid it down when Nohea picked up the looking-glass.
He put the unlidded box into the water and his head into it and
gazed intently for a few moments, moving the frame about to sweep
the bottom of the lagoon with his wise eyes.
The water was as smooth as a mirror. I saw the bed of the inland
sea as plainly as one does the floor of an aquarium a few feet deep.
No streams poured débris into it, nor did any alluvium cloud its
crystal purity. Coral and gravel alone were the base of its floor and
sides, and the result was a surpassing transparency of the water not
believable by comparison with any other lake.
“How far is that toa aau?” I asked, and pointed to a bank of coral.
Nohea sized up the object, took his head from the titea mata, and
replied, “Sixty feet.”
At that distance I could, unaided, see plainly a piece of coral as
big as my hand. The view was as variegated as the richest landscape
—a wilderness of vegetation, of magnificent marine verdure, sloping
hills and high towers with irregular windows, in which the sunshine
streamed in a rainbow of gorgeous colors; and the shells and bodies
of scores of zoöphytes dwelling upon the structures gleamed and
glistened like jewels in the flood of light. About these were patches
of snow-white sand, blinding in refracted brilliancy, and beside them
green bushes or trees of herbage-covered coral, all beautiful as a
dream-garden of the Nereids and as imaginary. Even when I
withdrew my eyes from this fantastic scene, the lagoon and shore
were hardy less fabulous. The palms waved along the beach as
banners of seduction to a sense of sheer animism, of investiture of
their trunks and leaves with the spirits of the atoll. Not seldom I had
heard them call my name in the darkness, sometimes in invitation to
enchantment and again in warning against temptation. The cutters
or canoes of the village were like lily-pads upon the placid water, far
apart, white or brown, the voices of the people whispers in the calm
air. I wished I were a boy to know to the full the feeling of adventure
among such divine toys which had brought glad tears to my eyes in
my early wanderings.
The canoe had drifted, and Nohea slipped over its side and again
spied with the glass. I, too, looked through mine and saw where he
indicated a ridge or bank of coral upon which were several oyster-
shells. Nohea immediately climbed into the canoe and, resting upon
the side prayed a few moments, bowing his head and nodding as if
in the temple. Then he began to breathe heavily. For several minutes
he made a great noise, drawing in the air and expelling it forcibly, so
that he seemed to be wasting energy. I was almost convinced that
he exaggerated the value of his emotions and explosive sounds, but
his impassive face and remembrance of his race’s freedom from our
exhibition conceit, drove the foolish thought away. His chest, very
capacious normally, was bursting with stored air, a storage beyond
that of our best trained athletes; and without a word he went over
the side and allowed his body to descend through the water. He
made no splash at all but sank as quietly as a stone. I fastened my
head in the titea mata and watched his every movement. He had
about his waist a pareu of calico, blue with large white flowers,—the
design of William Morris,—and a sharp sailor’s sheath-knife at the
belt. Around his neck was a sack of cocoanut-fiber, and on his right
hand a glove of common denim. Almost all his robust brown body
was naked for his return to the sea-slime whence his first ancestor
had once crawled.
Down he went through the pellucid liquid until at about ten feet
the resistance of the water stopped his course and, animated bubble
as he was, would have pushed him to the air again. But Nohea
turned in a flash, and with his feet uppermost struck out vigorously.
He forced himself down with astonishing speed and in twenty
seconds was at his goal. He caught hold of a gigantic goblet of coral
and rested himself an instant as he marked his object, the ledge of
darker rocks on which grew the shells. There were sharp-edged
shapes and branching plant-like forms, which, appearing soft as silk
from above would wound him did he graze them with his bare skin.
He moved carefully about and finally reached the shells. One he
gripped with the gloved hand, for the shell, too, had serrated edges,
and, working it to and fro, he broke it loose from its probable
birthplace and thrust it into his sack. Immediately he attacked the
other, and as quickly detached it. He stooped down and looked
closely all about him. He then sprang up, put his arms over his head,
his palms pressed one on the other, and shot toward the surface. I
could see him coming toward me like a bolt from a catapult. I held a
paddle to move the canoe from his path if he should strike it, and to
meet him the trice he flashed into the ether.
The diver put his right arm over the outrigger boom, and opening
his mouth gulped the air as does the bonito when first hauled from
the ocean. I was as still as death. In a séance once I was cautioned
not to speak during the materializations, as the disturbance might
kill the medium. I recalled that unearthly silence, for the moment of
emergence was the most fatal to the diver. His senses after the
terrible pressure of such a weight upon his body were as abnormal
and acute as a man’s whose nerves have been stripped by flaying.
The change in a few seconds from being laden and hemmed in by
many tons of water to the lightness of the atmosphere was ravaging.
Slowly the air was respired, and gradually his system,—heart,
glands, lungs, and blood,—resumed its ordinary rhythm, and his
organs functioned as before his descent. Several minutes passed
before he raised his head from the outrigger, opened his eyes, which
were suffused with blood, and said in a low tone of the deaf person,
“E tau Atua e!” He was thanking his God for the gift of life and
health. He had been tried with Meshach, Shadrach, and Abednego,
though not by fire.
Nohea lifted himself into the canoe, and took the sack of coir from
his neck. I removed the two pairs of shells with the reverence one
might assume in taking the new-born babe from its first cradle. They
were Holy Grails to me who had witnessed their wringing from the
tie-ribs of earth. They were shaped like a stemless palm-leaf fan,
about eight inches tall and ten wide, rough and black; and still
adhering to their base was a tangle of dark-green silky threads, the
byssus or strong filament which attaches them to their fulcrum, the
ledge. It was the byssus which Nohea had to wrench from the rock.
I laid down the shells and restored the sack to Nohea, who sat
immobile, perhaps thoughtless. Another brief space of time, and he
smiled and clapped his hands.
“That was ten fathoms,” he said. “Paddle toward that clump of
trees” (they were a mile away), “and we will seek deeper water.”
A few score strokes and we were nearer the center of the lagoon.
With my bare eyes I could not make out the quality of the bottom
but only its general configuration. Nohea said the distance was
twenty fathoms. The looking-glass disclosed a long ledge with a flat
shelf for a score of feet, and he said he made out a number of large
shells. It took the acutest concentration on my part to find them,
with his direction, for his eyes were twice as keen as mine from a
lifetime’s usage upon his natural surroundings. We sacrificed our
birthright of vivid senses to artificial habits, lights, and the printed
page. Nohea made ready to go down, but changed slightly his
method and equipment. He dropped the iron-hooped net into the
water by its line and allowed it to sink to the ledge. Then he raised it
a few feet so that it would swing clear of the bottom.
“It will hold my shells and indicate to me exactly where the canoe
is,” he explained. “At this depth, 120 feet, I want to rest immediately
on reaching the surface, and not to have to swim to the canoe. I
have not dived for many months, and I am no longer young.”
He attached the line to the outrigger, and then, after a fervent
prayer to which I echoed a nervous amen, he began his breathing
exercises. Louder than before and more actively he expanded his
lungs until they held a maximum of stored oxygen, and then with a
smile he slid through the water until he reversed his body and
swam. In his left hand now he had a shell, a single side of a bivalve;
and this he moved like an oar or paddle, catching the water with
greater force, and pulling himself down with it and the stroke of the
other arm, as well as a slight motion of the feet. The entire
movement was perfectly suited to his purpose, and he made such
rapid progress that he was beside the hoop-net in less than a
minute. He had a number of pairs of shells stripped from the shelf
and in the swinging net in a few seconds more, and then, drawn by
others he discerned further along the ledge, he swam, and dragged
himself by seizing the coral forms, and reached another bank. I
paddled the canoe gently behind him. I lost sight of him then
completely. Either he was hidden behind a huge stone obelisk or he
had gone beyond my power of sight.
A gigantic black shape swam into view near the oscillating hoop,
and a horror swept over me. It disappeared, but Nohea was still
missing. The time beat in my veins like a pendulum. Every throb
seemed a second, and they began to count themselves in my brain.
How long was it since Nohea had left me? A minute and a half? Two
minutes? That is an age without breathing. Something must have
injured him. Slowly the moments struck against my heart. I could
not look through the titea mata any longer. Another sixty seconds
and despair had chilled me so I shook in the hot sunshine as with
ague. I was cold and weak. Suddenly I felt a pull at the rope, the
canoe moved slightly, and hope grew warm in me. I perceived an
agitation of the water gradually ascending, and in a few instants the
diver sprang out of the lagoon to his waist. He threw his arm over
the outrigger, and bent down in agony. His suffering was written in
the contortion of his face, the blood in his eyes, and a writhing of his
whole body. He gasped madly at his first emergence, and then his
bosom rose and fell in lessening spasms. The cramp which had
convulsed his form relaxed, and, as minute after minute elapsed, his
face lost its rigidity, his pulse slackened to normal, and he said
feebly, “E tau Atua e!” With my assistance he hauled himself into the
canoe and lay half prone.
“You saw no shark?” I asked.
“I saw his shadow, but it was not he that detained me. I saw a
bank which might hold shells and I explored it. We will see what I
have.”
We pulled up the hoop-net, and in it were thirteen pairs of shells.
These were larger than the others, older, and, as he said, from a
more advantageous place for feeding, so that their residents, being
better nourished had made larger and finer houses for themselves.
Some of the thirteen were eighteen inches across. He said that he
had roamed seventy feet on the bottom, and he had been down two
and a half minutes. He had made observation of the ledges all about
and intended going a little deeper. I had but to look at the rope of
the net to gage the distance for it was marked with knots and bits of
colored cotton to give the lengths like the marks on a lead-line on
shipboard. I wanted to demur to his more dangerous venture, but I
did not. This was his avocation and adventure, his war with the
elements, and he must follow it and conquer or fail.
Again he dived, and this time at 148 feet. This was almost the
limit of men in suits with air pumps or oxygen-tanks, and they were
always let down and brought up gradually, to accustom their blood
to the altering pressure. Half an hour or an hour was often
consumed in hauling a diver up from the depth from which Nohea
sprang in a few seconds. His transcendent courage and consummate
skill were matched by his body’s trained resistance to the effect of
such extreme pressure of water and the remaining without breathing
for so long a time. I could appreciate his achievements more than
most people, for I had seen the divers of many races at work in
many waters. Ninety feet was the boundary of all except the
Paumotuans and those who used machines. But here was Nohea
exceeding that by sixty feet in my view, and I knew that greater
depths must be attained. Impelled by an instantaneous urge to
contrast my own capabilities with Nohea’s, I measured off thirty feet
on the line, and, putting it in his hands to hold, I breathed to my
fullest and leaped overboard. At three lengths of my figure, less than
eighteen feet, I experienced alarm and pain. I unloosed the hoop
and it swayed down to the end of the five fathoms of rope, while I
kicked and pulled, and after an interminable period I had barely
touched it again before I became convinced that if I did not breathe
in another second I would open my mouth. Nohea knew my plight,
for he yanked at the rope, and with his effort and my own frantic
exertion I made the air, and humbly hugged the outrigger until I was
myself. Thirty feet! And Nohea had brought up the shells from 148.
He paid dearly. Several times of the score that he probed the
deeper retreats of the oysters, he was prostrated for minutes upon
his egress and in throes of severe pain during the readjustment of
pressure; but he continued to pursue his fascinating and near-fatal
employment until by afternoon a heap of heavy, darkish bivalves lay
in the canoe. My curiosity had been heated since I had lifted the first
shell, and it was with increasing impatience that I waited for the
milder but not less interesting phase of his labor, the scrutiny of the
interior of the shells for pearls.
There are two moments in a divers life;
One, when, a beggar, he prepares to plunge;
Then, when, a prince, he rises with his pearl.

The poet visioned Nohea’s emotions, perhaps, but he had


schooled himself to postpone his satisfaction until the days harvest
was gathered. When we had paddled the canoe into shallow waters,
and the sun was slanting fast down the western side of earth, Nohea
surrendered himself to the realization or dissipation of his dream. He
knew that a thousand shells contain no pearls, that the princely
state came to few in decades. But the diver had the yearning and
credulous mind of the gold prospector, and lived in expectation as
did he. The glint of a pebble, the sheen of yellow sand, set his pulse
to beating more rapidly; and so with the diver. He knew that pearls
of great value had been found many times, and that one such trove
might make him rich for life, independent of daily toil, and free of
the traps and pangs of the plunge.
Nohea thrust his knife between the blades of a bivalve and pried
open his resisting jaws. True pearls lie in the tissues of the oyster,
generally in the rear of the body and sealed in a pocket. Nohea laid
down the parted shell and seized the animal, and dissected his
boneless substance in a gesture of eager inquiry. I watched his
actions with as sharp response, and sighed as each oyster in turn
was thrown into the bucket, in which was sea-water. When all had
been submitted to the test and no pearl had flashed upon our
hopeful eyes we examined the shells, trusting that though the true
pearls had escaped us we might find blisters, those which, having a
point of contact with the shell, are thus not perfect in shape and
skin, but have a flaw. These often have large value, if they can be
skinned to advantage; and the diver put his smaller hopes upon
them.
With pearls, orient or blister, eliminated, the primary and actually
more important basis of the industry appealed to Nohea. He
estimated the weight and value of the shells, which would be
transported to London for manufacture in the French Department of
the Oise into the black pearl buttons that ornament women’s
dresses. These Paumotuan shells were celebrated for their black
borders, nacre á bord noir, more valuable than the gold-lipped
product of the Philippines, but a third cheaper than the silver-lipped
shells of Australia. With at least the comfort of a heavy catch of this
less remunerative though hardly less beautiful creation of the oyster,
Nohea pointed out to me that the formation of the mother-of-pearl
or nacre on the shells was from left to right, as if the oyster were
right minded.
“When the whorls of a shell are from right to left,” he said, “that
shell is valuable as a curiosity. The people of Asia, the Chinese, pay
well for it, and a Chinese shell-buyer now here told me that in Initia
[India] they weighed it with gold in old times. In China they keep
such shells in the temples to hold the sacred oil, and the priests
administer magic medicine in them.”
Nohea completed the round of the day’s undertaking by
macerating the oysters and throwing them into the lagoon that their
spawn might be released for another generation. He cut off and
threaded the adhesive muscle of the oyster, the tatari ioro, to eat
when dried. It was something like the scallop or abalone abductor
muscle sold in our markets. The shells would be put into the sheds
or warehouses to dry and to be beaten and rubbed so as to reduce
the bulk of their backs, which have no value but weigh heavily.
After we had supped, Nohea and the older divers gathered at
Mapuhi’s for a discussion of the day’s luck, and I went along to the
coterie of traders by Lying Bill’s firm’s store. A cocoanut-husk fire
was burning, and about it sat Bill, McHenry, Llewellyn, Nimau,
Mandel, Kopcke, and others. Mandel was the most notable pearl-
buyer and expert here, with an office in Paris and a warehouse in
Papeete. He was huge and with gross features, and was rated as the
richest man in these South Seas. His own schooner had dropped
anchor off Takaroa a few days before with Mrs. Mandel in command.
He might make the bargain for pearls, but she would do the paying
and squeeze the most out of the price to the native. She ruled with
no soft hand, and in her long life had solved many difficult problems
in money-grubbing in this archipelago. Her husband was the head of
the Mandel tribe, but sons and daughter all knew the dancing boards
of the schooner and the intricacies of the pearl-market. Usually
Mandel stayed in Tahiti or visited Paris, but the rahui in Takaroa was
too promising a prize for any of them to remain away, and all of the
family were diligent in intrigue and negotiation. Mandel had handled
the finest pearls of the Paumotus for many years. I had seen Mrs.
Mandel come ashore, in a sheeny yellow Mother-Hubbard or Tahitian
ahu vahine and a cork helmet; but she made her home on her
schooner, to which she invited those from whom her good man had
purchased shell or pearls.
Pearls were, of course, the subject of the talk about the fire. Toae,
a Hikueru man, had found one, and Mandel had it already. He
showed it to me, a pea-shaped, dusky object, with no striking
beauty.
“I may be mistaken,” said Mandel, “but I believe this outside layer
is poorer than one inside. In Paris my employees will peel it and see.
It is taking a chance, but we have a second sight about it. You know
a pearl is like an onion, with successive skins, and we take off a
number sometimes. It reduces the size but may increase the luster.
Also we are using the ultra-violet ray to improve color. I saw a pearl
that cost a hundred thousand francs sold for three hundred
thousand after the ray was used on it. You know a pearl is produced
only by a sick oyster. It is a pathological product like gall-stones, and
it is mostly caused by a tapeworm getting into the oyster’s shell,
though a grain of sand is often the nucleus. The oyster feels the
grating or irritating thing and secretes nacre to cover it. The
tapeworm is embalmed in this mother-of-pearl, and the sand
smoothed with it. The material, the nacre, is the same as the interior
of the shell, and the oyster seems not to stop covering the intruder
when the itching has stopped but keeps on out of habit. And so
forms small and big pearls. Now a blister is generally over a bug or
snail, though sometimes it is a stop-gap to keep out a borer who is
drilling through the shell from the outside. The blisters are usually
hollow, whereas a pearl has a yellow center with the carbonate of
lime in concentric prisms. An orient or true pearl is formed in the
muscles of the oyster and does not touch the shell; but the blister,
which generally is part of the shell, may have been started in the
oyster’s sac or folds, and have dropped out or been released to hold
between the oyster and the shell. With these we cut away the
outside down to the original pearl. A blister itself is only good for a
brooch or an ornament, but I have gotten five or ten thousand
francs for the best.”
Captain Nimau, who was only less clever than Mandel in the lore
of pearls, said that, as the lagoons were often three hundred feet or
deeper in places, it was probable that larger pearls than ever yet
brought up were in these untouched caches.
“The Paumotuan has descended 180 feet,” said Nimau. “I have
plumbed his dive. A diver with a suit cannot go any deeper, and so
we never have explored the possible beds ’way down. The whole
face of the outer reef may be a vast oyster-bed, but the surf
prevents us from investigating. I have seen in December and March
of many years millions of baby oysters floating into the lagoons with
the rising tide, to remain there. They never go out again but prefer
the quiet life where they can grow up strong and big. The singular
thing about these pearl-oysters is that they can move about. When
you try to break them loose from the ledge they prove to be very
firmly attached by their byssus, but they travel from one shelf to
another when they need a change of food. It is not sand they are
most afraid of. They can spit their nacre on it if it gets in their shells;
but it is the little red crab that bothers them most. You know how
often you find the crab living happily in the pearl-shell because when
the oyster feeds he gets his share, and he is too active for the oyster
to kill as it does the worm, by spitting its nacre on him and
entombing him. Some day divers in improved suits will search for the
thousands of pearls that have fallen upon the bottom from dead
oysters, and maybe make millions. Mais, après tout, pearls may soon
have little value, for they say that the Japanese and other people are
growing them like mushrooms, and, though they have not yet
perfected the orient or true pearl, they may some day. One man,
some kind of foreigner, who used to be around here, discovered the
secret, but it’s lost now.”
CHAPTER XIII

Story of the wondrous pearls planted in the lagoon of Pukapuka—Tepeva a


Tepeva, the crippled diver, tells it—How a European scientist improved on
nature—Tragedy of Patasy and Mauraii—The robbed coral bank—Death under
the sea.

T HE palace of the governor was within half a mile of my abode in


the vale of Atuona, on the island of Hiva-Oa, the capital of the
Marquesan Archipelago. It was a broad and deep valley, “the most
beautiful, and by far the most ominous and gloomy, spot on earth,”
said Stevenson. Umbrageous and silent, it was watered by a stream,
which, born in the distant hills, descended in falls and rills and finally
a chattering brook to the bay. Magnificent forests of many kinds of
trees, a hundred vines and flowers, with rarest orchids, and a
tangled mass of grasses and creepers, lined the banks of the little
river, and filled the rising confines of the dell, which, as it climbed,
grew narrower and darker, and more melancholy of aspect, the
poignant melancholy of a sad loveliness past telling or analyzing. A
huge fortress of rocks rose almost sheer above my cottage, lowering
in shadow and terrible in storm, the highest point in the Marquesas.
In sunshine it was the brilliant rampart of the world-god’s
battlement, reflecting his flashing rays, and throwing a sheen of
luminosity upon the depths of the strath. This lofty peak of Temetiu,
nearly a mile in the sky, was the tower of a vast structure of broken
hills, gigantic columns, pinnacles, tilted and vertical rocks, ruins of
titanic battles of fire and water in ages gone. I had but to lift my
eyes and lower them to know that man here as in the Paumotus had
but triflingly affected his environment. From the castellated summits
to the beach where I had landed, the dwellings of humans seemed
lost in the dense foliage dominated by the lofty cocoanuts and the
spreading breadfruits.
The palace of the young French administrator was in a garden in
which grew exotic flowers brought by predecessors who sought to
assuage their nostalgia by familiar charms. The palace had large
verandas, and they were most of it, as in all tropical countries where
mosquitoes are not too menacing. The reading and lounging, the
eating and drinking, took place there, and generally a delicious
breeze cooled the humid air and drove away any insects that might
annoy. Almost daily I was the guest of the governor at a meal, or in
the evening after dinner, for a merry hour or two. We might be
alone, or with André Bauda, the tax collector, postmaster, and chief
of police, or not seldom with one or more of the fairest of the
Marquesan girls of the island of Hiva-Oa. For the governor was host
not only to the beauties of our valley of Atuona, but sent Flag, the
native mutoi, or policeman, of the capital, to other villages over the
mountains, to invite those whom Flag thought would lessen his
ennui. Far from his beloved Midi, the governor retained a Gallic and
gallant attitude toward young women, and never tired of their
prattle, their insatiable thirst for the beverages of France, and their
light laughter when lifted out of their habitual gravity by these.
Determined to learn their tongue as quickly as possible, being no
longer resident than I in the Marquesas, he kept about him a lively
lexicon or two to furnish him words and practice. Midnight often
came with the rest of the village already hours upon their sleeping-
mats, but on the palace porches a gabble of conversation, the lilt of
a chant, or perhaps the patter of a hula dance of bare feet upon the
boards. The Protestant and Catholic missionaries, though opposed to
each other upon doctrinal and disciplinary subjects, united in
condemnation of the conduct of the high representative of
sovereignty. But, like the governor of the Paumotus, he replied: “La
vie est triste; vive la bagatalle.” Life is sad; let joy be unconfined.
The governor’s ménage had only one attendant, Song of the
Nightingale, and he served only because he was a prisoner, and
preferred the domestic duties to repairing trails or sitting all day in
the calaboose by the beach. There was no servant in the Marquesas.
Whatever civilization had done to them,—and it had undone them
almost entirely,—it had not made them menials. There was never a
slave. Here death was preferable. In Tahiti one might procure native
domestics with extreme difficulty through their momentary craving
for gauds, or through affection, but one bought no subservience.
The silent, painstaking European or American or Asiatic, the humble,
sir-ring butler and footman, could not be matched in the South Seas.
If they liked one, these indolent people would work for one now and
then, but must be allowed to have their own way and say, and, if
reproved, it must be in the tone one used to a child or a relative.
The governor himself was compelled to endure Song of the
Nightingale’s lapses and familiarities, because he was the only
procurable cook in the islands. He could not buy or persuade one of
his lovely guests, clothed as they were but in a single garment, to
wash a plate or shake a mat. I, it was true, was assisted by
Exploding Eggs, a boy of fourteen years, but I made him an honored
companion and neophyte whom I initiated into the mysteries of
coffee-making and sweeping, and he, too, often wandered away for
a day or two without warning.
The table was spread on the veranda when at seven o’clock I
opened the garden gate of the palace. Flag had delivered to me an
enveloped card with studious ceremony, the governor sometimes
observing the extreme niceties of official hospitality, and again
throwing them to the winds, especially in very hot weather. Flag,
barelegged and barefooted as always, wore the red-striped jacket of
the mutoi and a loin-cloth, and carried a capacious leather pouch
from which he had extracted the made-in-Paris carte d’invitation. To
him it was a mysterious summons to a Lucullan feast which he might
not even look upon. The governor was dressing when I mounted the
porch, and I was received by Song of the Nightingale. He was a
middle-aged desperado, with a leering face, given a Mephistophelian
cast by a black whisker extending from ear to ear, and by heavy
lines of blue tattooing upon his forehead. He had white blood in him,
I felt sure, for he had a cunning wickedness of aspect that lacked
the simplicity of the Marquesan. He had been a prisoner many years
for various offenses, but mostly for theft or moonshining, at which
he was adept, and he was the one Marquesan I would not trust; he
had been too much with whites. One wondered at times whether
one’s life was not the pawn of a mood of such a villain, but the
French had hammered their dominion upon these sons of man-
eaters with lead and steel in the early days, though they were easy
and negligent rulers over the feeble remnant.
The handsome governor came from his boudoir as Vehine-hae and
Tahia-veo said “Kaoha!” Vehine-hae and Tahia-veo were their names
in Marquesan, which translated exactly Ghost Girl and Miss Tail. The
latter was a petite, engaging girl of seventeen, a brunette in color,
and modest and sweet in disposition. Ghost Girl was the enigma of
her sex there, nineteen or twenty, living alone in a detached hut,
and singularly beautiful. She was as dark as a Nubian, with a
voluptuous figure, small hands and feet, and baggage eyes of
melting sepia that promised devotion unutterable. Her nose was
straight and perfect, and her sensual mouth filled with shining teeth.
Of all the Marquesan girls she wore a travesty of European dress.
They in public wore a tight-fitting peignoir or tunic, and in private a
pareu, but Ghost Girl had on a silk bodice open to disclose her ripe
symmetry, and a lace petticoat about which she wore a silk kerchief.
In her ebon heap of hair she wore the phosphorescent flowers of the
Rat’s Ear. Her mind was that of a child of ten, inquisitive and
acquisitive, exhibitive and demanding.
The governor seated us, the ladies opposite each other, and the
dinner began with appetizers of vermouth. The aromatic wine, highly
fortified as it was, burned the throat of Miss Tail, but Ghost Girl
drank hers with zest, and said, “Motaki! That’s fine!” Neither of the
girls spoke more than a few sentences of French, though they had
both been in the nuns’ school, but we were able with our knowledge
of Marquesan and Song’s fragmentary French to carry on a lively
interchange of words, if not of thought.
The governor had shot a few brace of kuku, the green doves of
the forest, and Song had spitted them over a purau wood fire. With
the haunch of a wild goat from the hills we had excellent fare, with
claret and white wine from Sauterne. We two palefaces wielded
forks, but as no Polynesians use such very modern inventions the
ladies lifted their meat to their months without artificial aid. Ghost
Girl, as befitting her European attire, tried to use a fork, but shrieked
with pain when she succeeded in putting only the tines into her
tongue. We hardly realize the pains our mothers were at to teach us
table-manners, nor that gentlemen of Europe ate with their fingers
at a period when chop-sticks were in common use in China and
Japan, except in time of mourning.
Song of the Nightingale, who, doubtless, had indulged his convict
hankering for alcohol in the secret recesses of the kitchen, laughed
loudly at Ghost Girl’s pain, and when he placed a platter of the kuku
on the cloth, and she refused to accept one of the grilled birds his
snigger became derisive. He took up the carving-fork and stuck it
deep into a kuku’s breast and put it on her plate. She shuddered and
started back, with her hands covering her long-lashed eyes. The
governor demanded in a slightly angry tone to know what Song had
done to frighten her. The cook explained that Ghost Girl was of
Hanavave, on the island of Fatuhiva, a day’s journey distant, and
that the bon dieu or god—he said pony-too—of Fatuhiva was the
kuku. She had been appalled at his suggestion that she should eat
the symbolic tenement of her mother’s deity, though she herself ate
the transubstantiated host at communion in the Catholic church at
Atuona. Not content with his insult to her ancestral god, and, taking
his cue from the governor’s roar of laughter at his French or his
explanation, the cruel Song said a bitter thing to Ghost Girl.
“Eat the kuku!” he said. “It will taste better than your
grandmother did.”
“Tuitui! Shut your mouth!” retorted Vehine-hae. “There were no
thieves in our tribe.”
That was a hot shot at Song’s crimes and penal record, and so
animated became their repartee that the governor had to call a halt
and demand mutual apologies. The chef informed him that his father
in a foray upon Hanavave had taken as a prize of war the
grandmother of Ghost Girl, and had eaten her, or at least, whatever
tidbit he had liked. It was history that she had been eaten in Taaoa,
Song’s home, in the next valley to Atuona. No more vindictive
remark than this, nor more hateful action than his offering the kuku
to Ghost Girl, could be imagined in the rigid etiquette of Marquesas
society. The tears were in the soft eyes of Vehine-hae, and the
alarmed governor dismissed Song from further service that evening
and took the weeping Fatuhivan in his arms to console her.
“Tapu! Tapu!” sobbed Ghost Girl. The kuku was tapu to her teeth,
as the American flag would be to the feet of a patriot. Song was
without other belief than in the delight of drink, but Ghost Girl was a
woman, the support of every new cult and the prop of every old
one. Superstition the world over will die last in the breast of the
female. She survives subjugated races, and conserves the past,
because her instincts are stronger and her faculties less active than
man’s, and her need of worship overwhelming.
That word tapu was still one to conjure with in the Marquesas.
Flag, the policeman, and sole deputy of Commissaire Bauda on the
island of Hiva-Oa, had invoked it a few days before, after an
untoward incident. Bauda and I had returned on horseback from a
journey to the other side of the island, and, at the post-tax-police
office near the beach where Bauda lived, encountered Flag, drunk.
Son of a famous dead chief, and himself an amiable, bright man of
thirty, he had not resisted the temptation of Bauda’s being gone for
a day, to abstract a bottle of absinthe from a closet and consume the
quart. Bauda upbraided him and ordered him to his house, but Flag
seized a loaded rifle and sounded an ancient battle-cry. It had the
blood-curdling quality of an Indian whoop.
Neither Bauda nor I was armed, and I was for shelter behind a
cocoanut-tree. That would not do for Bauda, nor for discipline.
“Me with six campaigns in Africa! Moi qui parle!” exclaimed the
former officer of the Foreign Legion, as he tapped his breast and
voiced his astonishment at Flag’s temerity. He strode toward the
staggering mutoi, and, with utter disregard of the rifle, reached his
side. He wrenched the weapon from him, and with a series of kicks
drove him into the calaboose and locked the door on him.
Photo from L. Gauthier
Ghost girl
A double canoe

“That means ten years in Noumea for him,” said the commissaire,
savagely. But after dinner, which I got, when he had meditated upon
Flag’s willingness as a cook and his ability to collect taxes, he
lessened the sentence to a year at hard labor. I was not surprised to
meet Flag at noon the next day with his accustomed white jacket
with its red stripe upon the arm. Man cannot live without cooks, and
perhaps I had aided leniency by burning a bird.
Flag explained to me, though sheepishly, that, overcome by the
litre of absinthe as he was, he would not have injured a hair of
Bauda’s head.
“Bauda is tapu. I would meet an evil fate did I touch him,” said
Flag, when sober and sorry.
I stumbled on tapus daily. Vai Etienne, my neighbor, gave me a
feast one day, and half a dozen of us, all men, sat at table. Vai
Etienne, having lived several years in Tahiti had Frenchified ways.
His mother, the magnificent Titihuti, who was splendidly tattooed
from toe to waist, and who was my adopted mother, waited upon us.
Offering her a glass of wine, and begging her to sit with us, I
discovered that the glass her son drank from and the chair a man
sat in were tapu to her. She took her wine from a shell, but would
not sit at table with us. Of course, she never sat in chairs, anyhow,
nor did Vai Etienne, but he had provided these for the whites.
The subject of the tapus of the South Seas was endless. The
custom, tabu or kapu in Hawaiian, and tambu in Fijian, was ill
expressed in our “taboo,” which means the pressure of public
sentiment, or family or group feeling. Tapus here were the
conventions of primitive people made awe-inspiring for enforcement
because of the very willfulness of these primitives. The custom here
and throughout society dated from the beginning of legend. Laws
began with the rules laid down by the old man of the family and
made dread in the tribe or sept by the hocus-pocus of the medicine
man. Tapus may have been the foundation of all penal laws and
etiquette. The Jews had a hundred niceties of religious, sanitary, and
social tapus. Warriors were tapu in Homer’s day, and land and fish
were tapu to Grecian warriors, according to Plato. Confucius in the
“Li Ki,” ordained men and women not to sit on the same mat, nor
have the same clothes-rack, towel, or comb, nor to let their hands
touch in giving and receiving, nor to do a score of other trivial
things. The old Irish had many tapus and totems, and many legends
of harm wrought by their breaking, a famous one being “The
Destruction of Da Derga’s Hostel.”
In the Marquesas tapus were the most important part of life, as
ceremony was at the court of the kings of France. They governed
almost every action of the people, as the rules of a prison do
convicts, or the precepts of a monastery monks. Death followed the
disobedience of many, and others preserved one from the hands of
enemies. There being no organized government in Polynesia, tapus
took the place of laws and edicts. They were, in fact, spiritual laws,
superstition being the force instead of a penal code. They imposed
honesty, for if a man had any dear possession, he had the priest
tapu it and felt secure. Tapus protected betrothed girls and married
women from rakes.
A young woman who worked at the convent in Atuona, near me,
was made tapu against all work. She was never allowed to touch
food until it had been prepared for her. If she broke the tapu the
food was thrown away. From infancy, when a taua had laid the
prohibition upon her, she lived in disagreeable idleness, afraid to
break the law of the priest. Only in recent years did the nuns laugh
away her fears, and set her to helping in their kitchen. She told me
that she could not explain the reason for her having been tapu from
effort, as the taua had died who chained her, without informing her.
If a child crawled under a house in the building, the house was
burned. If I were building a boat, and, for dislike of me, some one
named aloud the boat after my father, I destroyed the boat. Blue
was tapu to women in Nuku-Hiva, and red, too. They could not eat
bonito, squid, popii, and koehi. They might not eat bananas,
cocoanuts, fresh breadfruit, pigs of brown color, goats, fowls and
other edibles.
Females were forbidden to climb upon the sacred paepaes, to
enter the men’s club-houses (this tapu was enforced in America until
the last few years), to eat with men, to smoke inside the house, to
carry mats on their heads, and, saddest of all, to weep. Children
might not carry one another pickaback. The kuavena fish was tapu
to fishermen, as also peata, a kind of shark.
To throw human hair upon the ground was strictly prohibited. It
might be trodden on, and bring mischief upon the former wearer. So
the chiefs would never walk under anything that might be trodden
on, and aboard ships never went below deck, for that reason.
Perhaps our superstition as to walking under ladders is derived from
such a tapu. To stretch one’s hand or an object over the head of any
one was tapu. There were a hundred things tapu to one sex. Men
had the advantage in these rules, for they were made by men.
The earthly punishments for breaking tapus ran from a small fine
to death, and from spoliation to ostracism and banishment. Though
there were many arbitrary tapus, the whims and fantasies of chiefs,
or the wiles of priests, the majority of them had their beginning in
some real or fancied necessity or desirability. Doubtless they were
distorted, but, like circumcision and the Mosaic barring of pork to the
Jews, here was health or safety of soul or body concerned. One
might cite the Ten Commandments as very old tapus.
The utter disregard for the tapus of the Marquesans shown by the
whites eventually had caused them to fall into general disrepute.
They degenerated as manners decayed under the influx of
barbarians into Rome, as Greek art fell before the corruption of the
people. The Catholic, who bowed his head and struck his breast at
the exaltation of the host, could understand the veneration the
Marquesans had for their chief tapus, and their horror at the conduct
of the rude sailors and soldiers who contemned them. But when
they saw that no gods revenged themselves upon the whites, that
no devil devoured their vitals when they ate tapu breadfruit or fish
or kicked the high priest from the temple, the gentle savages made
up their minds that the magic had lost its potency. So, gradually,
though to some people tapus were yet very sacred, the fabric built
up by thousands of years of an increasingly elaborate system of laws
and rites, melted away under the breath of scorn. The god of the
white man was evidently greater than theirs. Titihuti, a constant
attendent of the Catholic church, yet treasured a score of tapus, and
associated with them these others, the dipping of holy water from
the bénitier, the crossing herself, the kneeling and standing at mass,
the telling of her beads, and the kissing of the cross.
The abandonment of tapus under the ridicule and profanation of
the whites relaxed the whole intricate but sustaining Marquesan
economy. Combined with the ending of the power of chiefs of
hereditary caste, the doing away with tapus as laws set the natives
hopelessly adrift on an uncharted sea. Right and wrong were no
longer right or wrong.
This fetish system was very aptly called a plague of sacredness.
“Whoever was sacred infested everything he touched with
consecration to the gods, and whatever had thus the microbe of
divinity communicated to it could communicate it to other things and
persons, and render them incapable of common use or approach.
Not till the priest had removed the divine element by ceremonies
and incantations could the thing or person become common or fit for
human use or approach again.”
The Marquesan priests strove with might and main to extend the
tapus, for they meant power and gain. Wise and strong chiefs
generally had private conferences with the priests and looked to it
that tapus did not injure them.
Allied with tapuism was what is called in Hawaii kahunaism, that is
the witchcraft of the priests, the old wizards, who combined with the
imposing and lifting of the bans, the curing or killing of people by
enchantment. Sorcery or spells were at the basis of most primitive
medicine. At its best it was hypnotism, mesmerism, or mind power.
After coming through thousands of years of groping in physic and
surgery, we are adopting to a considerable degree the methods of
the ancient priests, the theurgy, laying on of hands, or invoking the
force of mind over matter, or stated Christly methods of curing the
sick. In Africa witchcraft or voodooism attains more powers than
ever here, but even in Polynesia the test of a priest’s powers was his
ability to kill by willing it. In the New Zealand witchcraft schools no
man was graduated until he could make some one die who was
pointed out as his subject. A belief in this murderous magic is shared
by many whites who have lived long in Polynesia or New Zealand. It
was still practised here, and held many in deadly fear. The victims
died under it as if their strength ran out like water.
The most resented exclusion against women in the Marquesas,
and one of the last to be broken, was from canoes. Lying Bill, as the
first seaman who sailed their ships here, had met shoals of women
swimming out miles to the vessel as it made for port. In his youth
they did not dare enter a canoe in Hiva-Oa. They tied their pareus
on their heads and swam out, clambered aboard the ships miles
from land with the pareus still dry.
“They’d jump up on the bulwarks,” said Lying Bill, “an’ make their
twilight before touchin’ the deck. The men would come out in
canoes an’ find the women had all the bloomin’ plunder.”
This tapu, most important to the men, was maintained until a
Pankhurst sprang from the ranks of complaining but inactive women.
There being many more men, women had always had a singular sex
liberty, but, as I have said, the artful men had invoked rigid tapus to
keep them from all water-craft. The females might have three or
four husbands, might outshine an Aspasia in spell of pulchritude and
collected tribute, and the portioned men must submit for passion’s
sake, but when economics had concern, the pagan priests brought
orders directly from deity.
The dread gods of the High Place, the demons of the Paepae
Tapu, had centuries before sealed canoes against women. In canoes
women might wander; they might visit other bays and valleys, even
other islands, and learn of the men of other tribes. They might go
about and fall victims to the enemies of the race. They might
assume to enter the Fae Enata, the House of Council, which was on
a detached islet.
And they certainly would catch other fish than those they now
snared from rocks or hooked, as both swam in the sea. Fish are
much the diet of the Marquesans, and were propitiations to maid
and wife—the current coin of the food market. To withhold fish was
to cause hunger. The men alone assumed the hazard of the tossing
canoe, the storms, the hot eye of the vertical sun, and the devils of
the deep who grappled with the fisher; and theirs was the reward,
and theirs the weapons of control.
But there were always women who grumbled, women who even
laughed at such sacred things, and women who persisted. Finally the
very altar of the Forbidden Height was shaken by their madness.
How and what came of it were told me by an old priest or sorcerer,
as we sat in the shade of the great banyan on the beach and waited
for canoes to come from the fishing.
The sorcerer and I passed the ceremonial pipe, and his words
were slow, as becoming age and a severe outlook on life.
“There were willful women who would destroy the tapu against
entering canoes?” I asked, to urge his speech.
“E, it was so!” he said.
“Me imui? What happened?” I queried further.
“A long time this went on. My grandfather told me of a woman
who talked against that tapu when he was a boy.”
“And she—?”
“She enraged the gods. She corrupted even men. A council was
held of the wise old men, and the words went forth from it. She was
made to keep within her house, and a tapu against her made it
forbidden to listen to her wildness. In each period another woman
arose to do the same, and more were corrupted. Some women stole
canoes and were drowned. The sharks even hated them for their
wickedness. We pointed out what fate had befallen them, but other
women returned boasting. We slew some of these. But still it went
on. You know, foreigner, how the pokoko enters a valley. One coughs
and then another, and from the sea to the peak of Temetiu, many
are made sick by the evil. It was so with us, and that revolt against
religion.”
He sighed and rubbed his stomach.
“Is it not time they came?” he asked.
“Epo, by and by,” I answered. “Why did you men not yield? After
all, what did it really matter?”
“O te Etua e! The gods of the High Place forbade, for the women’s
own sake!” he said indignantly, and muttered further.
To break down every sacred relation of centuries! To shatter the
tradition of ages! To unsex their beloved mothers, wives, and sisters

You might also like