Sponsored Content
The Lounge What is on Your Mind? Play Computer Trivia on Telegram Post 303044872 by Neo on Thursday 5th of March 2020 09:00:48 PM
Old 03-05-2020
Update.

Testing has gone well and this Telegram bot app is working well.

But for now, it looks like few people are using Telegram and not really interested to install Telegram to play computer trivia, at least so far.

If you have not tried it out yet, it is really a great way to kill time when you are stuck in the taxi or waiting in line Smilie

Works well.... and is fun, really!
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

xterm trivia

Thanks Livin Free... Here's another one... Why is it that I always get the error message "Error: Can't open display:" in my mail whenever I execute or try to call an xterm command using cron to activate the command. What did I miss? Thanks in advance UNIX gurus... (3 Replies)
Discussion started by: jfsuminist
3 Replies

2. What is on Your Mind?

Telegram Bots - Bot Code Examples

I'm currently looking into ways to integrate the Telegram API into the forums: Telegram Bots - Bot Code Examples I'm thinking, first off, to use the Telegram API to get forum alerts and notifications (to Bot or Not?). Second, I thinking of ways to more deeply integrate Telegram into the... (5 Replies)
Discussion started by: Neo
5 Replies

3. What is on Your Mind?

Forum Trivial Pursuit - New Computer Science and Mathematics Trivia for UNIX.com

I have added a new experimental "Computer Science and Mathematics Trivia - True or False" section in the discussions, currently under the tags box. In the future, I plan to Expand this feature to add more trivia categories from math, science and technology. Keep track of correct and... (20 Replies)
Discussion started by: Neo
20 Replies

4. What is on Your Mind?

1000+ Computer Science Trivia Questions at UNIX.COM

The UNIX and Linux Forums now has over 1000 TRUE / FALSE computer science and computer related trivia question in our database. These questions are of relatively high quality (compared to similar sites on the web) and are fun (according to feedback by users). In the first week during the... (1 Reply)
Discussion started by: Neo
1 Replies

5. What is on Your Mind?

New Member and Country Computer Trivia Leaderboards

Thanks to Akshay, who helped me write the core MySQL queries, we now have two new draft leaderboards, by (1) member and by (2) country: https://www.unix.com/trivia_stats.php Currently milhan leads the members with a high score of 90%: ... (3 Replies)
Discussion started by: Neo
3 Replies

6. What is on Your Mind?

Debugging Our Computer Science Trivia Feature

Only a few days after I coded this new feature from scratch, we are seeing over 3000 entries in the database from members (mostly guests) playing CS trivia. I have spend a lot of time coding this (from scratch) and testing the API. From the logs, it seems to have an API bug which appears... (31 Replies)
Discussion started by: Neo
31 Replies

7. What is on Your Mind?

Milestone: Users Answer Over 100,000 Computer Trivia Questions

Today marks another milestone in the computer trivia app: 100,000 Computer Trivia Questions Answered by Users Some notes to mention at this milestone: vbe leads the "best score" category with 320 questions answered for an overall score of 91.2%. rdrtx leads "most questions answered"... (0 Replies)
Discussion started by: Neo
0 Replies

8. What is on Your Mind?

MQTT, Node-RED, Linux, Apache2, MySQL, PHP, Telegram, ESP32, ESP8266, Arduino

I have just completed the first phase of integrating all these devices and technologies: MQTT, Node-RED, Linux, Apache2, MySQL, PHP, Telegram, ESP32, ESP8266, and the Arduino Uno The glue that binds all this together is MQTT. In fact, MQTT makes this kind of integration nearly trivial to... (1 Reply)
Discussion started by: Neo
1 Replies

9. What is on Your Mind?

Computer Trivia Feature Tops 50,000 Questions Answered

Just noticed that our successful computer trivia feature (stats here) has surpassed over 50,000 questions answered by users: https://www.unix.com/trivia_stats.php This was a coding effort worth while and I'm pleased to see so many people enjoying it in such a short time since it was released... (3 Replies)
Discussion started by: Neo
3 Replies
Test::Mojo(3pm) 					User Contributed Perl Documentation					   Test::Mojo(3pm)

NAME
Test::Mojo - Testing Mojo! SYNOPSIS
use Test::More tests => 12; use Test::Mojo; my $t = Test::Mojo->new('MyApp'); $t->get_ok('/welcome')->status_is(200)->text_is('div#message' => 'Hello!'); $t->post_form_ok('/search.json' => {q => 'Perl'}) ->status_is(200) ->header_is('X-Powered-By' => 'Mojolicious (Perl)') ->header_isnt('X-Bender' => 'Bite my shiny metal ass!'); ->json_is('/results/4/title' => 'Perl rocks!'); $t->websocket_ok('/echo') ->send_ok('hello') ->message_is('echo: hello') ->finish_ok; DESCRIPTION
Test::Mojo is a collection of testing helpers for everyone developing Mojo and Mojolicious applications. ATTRIBUTES
Test::Mojo implements the following attributes. "tx" my $tx = $t->tx; $t = $t->tx(Mojo::Transaction::HTTP->new); Current transaction, usually a Mojo::Transaction::HTTP object. # More specific tests is $t->tx->res->json->{foo}, 'bar', 'right value'; ok $t->tx->res->is_multipart, 'multipart content'; # Test custom transaction my $tx = $t->ua->build_form_tx('/user/99' => {name => 'sri'}); $tx->req->method('PUT'); $t->tx($t->ua->start($tx)) ->status_is(200) ->text_is('div#message' => 'User has been replaced.'); "ua" my $ua = $t->ua; $t = $t->ua(Mojo::UserAgent->new); User agent used for testing, defaults to a Mojo::UserAgent object. # Allow redirects $t->ua->max_redirects(10); # Customize all transactions (including followed redirects) $t->ua->on(start => sub { my ($ua, $tx) = @_; $tx->req->headers->accept_language('en-US'); }); # Request with Basic authentication $t->get_ok($t->ua->app_url->userinfo('sri:secr3t')->path('/secrets')); METHODS
Test::Mojo inherits all methods from Mojo::Base and implements the following new ones. "new" my $t = Test::Mojo->new; my $t = Test::Mojo->new('MyApp'); my $t = Test::Mojo->new(MyApp->new); Construct a new Test::Mojo object. "app" my $app = $t->app; $t = $t->app(MyApp->new); Alias for "app" in Mojo::UserAgent. # Change log level $t->app->log->level('fatal'); # Test application directly is $t->app->defaults->{foo}, 'bar', 'right value'; ok $t->app->routes->find('echo')->is_websocket, 'WebSocket route'; # Change application behavior $t->app->hook(before_dispatch => sub { my $self = shift; $self->render(text => 'This request did not reach the router.') if $self->req->url->path->contains('/user'); }); "content_is" $t = $t->content_is('working!'); $t = $t->content_is('working!', 'right content'); Check response content for exact match. "content_isnt" $t = $t->content_isnt('working!'); $t = $t->content_isnt('working!', 'different content'); Opposite of "content_is". "content_like" $t = $t->content_like(qr/working!/); $t = $t->content_like(qr/working!/, 'right content'); Check response content for similar match. "content_unlike" $t = $t->content_unlike(qr/working!/); $t = $t->content_unlike(qr/working!/, 'different content'); Opposite of "content_like". "content_type_is" $t = $t->content_type_is('text/html'); Check response "Content-Type" header for exact match. "content_type_isnt" $t = $t->content_type_isnt('text/html'); Opposite of "content_type_is". "content_type_like" $t = $t->content_type_like(qr/text/); $t = $t->content_type_like(qr/text/, 'right content type'); Check response "Content-Type" header for similar match. "content_type_unlike" $t = $t->content_type_unlike(qr/text/); $t = $t->content_type_unlike(qr/text/, 'different content type'); Opposite of "content_type_like". "delete_ok" $t = $t->delete_ok('/foo'); $t = $t->delete_ok('/foo' => {DNT => 1} => 'Hi!'); Perform a "DELETE" request and check for transport errors, takes the exact same arguments as "delete" in Mojo::UserAgent. "element_exists" $t = $t->element_exists('div.foo[x=y]'); $t = $t->element_exists('html head title', 'has a title'); Checks for existence of the CSS3 selectors first matching XML/HTML element with Mojo::DOM. "element_exists_not" $t = $t->element_exists_not('div.foo[x=y]'); $t = $t->element_exists_not('html head title', 'has no title'); Opposite of "element_exists". "finish_ok" $t = $t->finish_ok; $t = $t->finish_ok('finished successfully'); Finish "WebSocket" connection. "get_ok" $t = $t->get_ok('/foo'); $t = $t->get_ok('/foo' => {DNT => 1} => 'Hi!'); Perform a "GET" request and check for transport errors, takes the exact same arguments as "get" in Mojo::UserAgent. "head_ok" $t = $t->head_ok('/foo'); $t = $t->head_ok('/foo' => {DNT => 1} => 'Hi!'); Perform a "HEAD" request and check for transport errors, takes the exact same arguments as "head" in Mojo::UserAgent. "header_is" $t = $t->header_is(Expect => 'fun'); Check response header for exact match. "header_isnt" $t = $t->header_isnt(Expect => 'fun'); Opposite of "header_is". "header_like" $t = $t->header_like(Expect => qr/fun/); $t = $t->header_like(Expect => qr/fun/, 'right header'); Check response header for similar match. "header_unlike" $t = $t->header_like(Expect => qr/fun/); $t = $t->header_like(Expect => qr/fun/, 'different header'); Opposite of "header_like". "json_content_is" $t = $t->json_content_is([1, 2, 3]); $t = $t->json_content_is([1, 2, 3], 'right content'); $t = $t->json_content_is({foo => 'bar', baz => 23}, 'right content'); Check response content for JSON data. "json_is" $t = $t->json_is('/foo' => {bar => [1, 2, 3]}); $t = $t->json_is('/foo/bar' => [1, 2, 3]); $t = $t->json_is('/foo/bar/1' => 2, 'right value'); Check the value extracted from JSON response using the given JSON Pointer with Mojo::JSON::Pointer. "json_has" $t = $t->json_has('/foo'); $t = $t->json_has('/minibar', 'has a minibar'); Check if JSON response contains a value that can be identified using the given JSON Pointer with Mojo::JSON::Pointer. "json_hasnt" $t = $t->json_hasnt('/foo'); $t = $t->json_hasnt('/minibar', 'no minibar'); Opposite of "json_has". "message_is" $t = $t->message_is('working!'); $t = $t->message_is('working!', 'right message'); Check WebSocket message for exact match. "message_isnt" $t = $t->message_isnt('working!'); $t = $t->message_isnt('working!', 'different message'); Opposite of "message_is". "message_like" $t = $t->message_like(qr/working!/); $t = $t->message_like(qr/working!/, 'right message'); Check WebSocket message for similar match. "message_unlike" $t = $t->message_unlike(qr/working!/); $t = $t->message_unlike(qr/working!/, 'different message'); Opposite of "message_like". "options_ok" $t = $t->options_ok('/foo'); $t = $t->options_ok('/foo' => {DNT => 1} => 'Hi!'); Perform a "OPTIONS" request and check for transport errors, takes the exact same arguments as "options" in Mojo::UserAgent. "patch_ok" $t = $t->patch_ok('/foo'); $t = $t->patch_ok('/foo' => {DNT => 1} => 'Hi!'); Perform a "PATCH" request and check for transport errors, takes the exact same arguments as "patch" in Mojo::UserAgent. "post_ok" $t = $t->post_ok('/foo'); $t = $t->post_ok('/foo' => {DNT => 1} => 'Hi!'); Perform a "POST" request and check for transport errors, takes the exact same arguments as "post" in Mojo::UserAgent. "post_form_ok" $t = $t->post_form_ok('/foo' => {a => 'b'}); $t = $t->post_form_ok('/foo' => 'UTF-8' => {a => 'b'} => {DNT => 1}); Submit a "POST" form and check for transport errors, takes the exact same arguments as "post_form" in Mojo::UserAgent. "put_ok" $t = $t->put_ok('/foo'); $t = $t->put_ok('/foo' => {DNT => 1} => 'Hi!'); Perform a "PUT" request and check for transport errors, takes the exact same arguments as "put" in Mojo::UserAgent. "reset_session" $t = $t->reset_session; Reset user agent session. "send_ok" $t = $t->send_ok({binary => $bytes}); $t = $t->send_ok({text => $bytes}); $t = $t->send_ok([$fin, $rsv1, $rsv2, $rsv3, $op, $payload]); $t = $t->send_ok('hello'); $t = $t->send_ok('hello', 'sent successfully'); Send message or frame via WebSocket. "status_is" $t = $t->status_is(200); Check response status for exact match. "status_isnt" $t = $t->status_isnt(200); Opposite of "status_is". "text_is" $t = $t->text_is('div.foo[x=y]' => 'Hello!'); $t = $t->text_is('html head title' => 'Hello!', 'right title'); Checks text content of the CSS3 selectors first matching XML/HTML element for exact match with Mojo::DOM. "text_isnt" $t = $t->text_isnt('div.foo[x=y]' => 'Hello!'); $t = $t->text_isnt('html head title' => 'Hello!', 'different title'); Opposite of "text_is". "text_like" $t = $t->text_like('div.foo[x=y]' => qr/Hello/); $t = $t->text_like('html head title' => qr/Hello/, 'right title'); Checks text content of the CSS3 selectors first matching XML/HTML element for similar match with Mojo::DOM. "text_unlike" $t = $t->text_unlike('div.foo[x=y]' => qr/Hello/); $t = $t->text_unlike('html head title' => qr/Hello/, 'different title'); Opposite of "text_like". "websocket_ok" $t = $t->websocket_ok('/echo'); $t = $t->websocket_ok('/echo' => {DNT => 1}); Open a "WebSocket" connection with transparent handshake, takes the exact same arguments as "websocket" in Mojo::UserAgent. SEE ALSO
Mojolicious, Mojolicious::Guides, <http://mojolicio.us>. perl v5.14.2 2012-09-05 Test::Mojo(3pm)
All times are GMT -4. The time now is 06:27 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy